គុណសម្បត្តិ និងគុណវិបត្តិនៃមុខងារផ្ទាល់ខ្លួនក្នុង Excel

  • ចែករំលែកនេះ។
Michael Brown

យើងកំពុងបន្តការបង្រៀនជាបន្តបន្ទាប់អំពីមុខងារដែលបានកំណត់ដោយអ្នកប្រើប្រាស់។ នៅក្នុងអត្ថបទមុនរបស់យើង យើងបានស្គាល់មុខងារផ្ទាល់ខ្លួន និងរៀនពីរបៀបបង្កើត និងប្រើប្រាស់ពួកវា។ នៅក្នុងសៀវភៅណែនាំនេះ យើងនឹងពិនិត្យមើលលក្ខណៈជាក់លាក់នៃការប្រើប្រាស់មុខងារទាំងនេះ និងមើលភាពខុសគ្នារវាងម៉ាក្រូ UDF និង VBA។

នៅក្នុងមេរៀននេះ យើងនឹងសិក្សាដូចខាងក្រោម៖

    យើងសង្ឃឹមថាអត្ថបទនេះនឹងបង្កើនចំនេះដឹងរបស់អ្នកអំពី UDF និងជួយអ្នកឱ្យប្រើពួកវាឱ្យកាន់តែមានប្រសិទ្ធភាពនៅក្នុងសៀវភៅការងារ Excel របស់អ្នក។

    តើ UDF ​​និងម៉ាក្រូដូចគ្នាដែរឬទេ?

    មុខងារទាំងពីរដែលកំណត់ដោយអ្នកប្រើប្រាស់ និង VBA ម៉ាក្រូត្រូវបានបង្កើតដោយប្រើកម្មវិធីនិពន្ធ VBA ។ តើអ្វីជាភាពខុសគ្នារវាងពួកវា និងអ្វីដែលត្រូវផ្តល់ចំណូលចិត្ត?

    ភាពខុសគ្នាដ៏សំខាន់បំផុតនោះគឺថាមុខងារអនុវត្តការគណនា ហើយម៉ាក្រូអនុវត្តសកម្មភាពមួយចំនួន។ មុខងារកំណត់ដោយអ្នកប្រើប្រាស់ ដូចជាមុខងារ Excel ធម្មតា ត្រូវតែសរសេរក្នុងក្រឡា។ ជាលទ្ធផលនៃការប្រតិបត្តិរបស់វា ក្រឡាត្រឡប់តម្លៃមួយចំនួន។ ក្នុងពេលជាមួយគ្នានេះ វាមិនអាចទៅរួចទេក្នុងការផ្លាស់ប្តូរតម្លៃនៃកោសិកាផ្សេងទៀត ក៏ដូចជាលក្ខណៈសម្បត្តិមួយចំនួននៃក្រឡាបច្ចុប្បន្ន (ជាពិសេសការធ្វើទ្រង់ទ្រាយ)។ ទោះយ៉ាងណាក៏ដោយ អ្នកអាចប្រើមុខងារផ្ទាល់ខ្លួននៅក្នុងរូបមន្តធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌ។

    ម៉ាក្រូ UDF និង VBA ដំណើរការតាមរបៀបផ្សេងៗគ្នា។ ឧទាហរណ៍ នៅពេលអ្នកបង្កើត UDF នៅក្នុង Visual Basic Editor អ្នកចាប់ផ្តើមដោយពាក្យ Function ហើយបញ្ចប់ដោយ End Function ។ នៅពេលអ្នកកត់ត្រាម៉ាក្រូ អ្នកចាប់ផ្តើមជាមួយ astatement Sub និងបញ្ចប់ដោយ End Sub។

    មិនមែនប្រតិបត្តិករ Visual Basic ទាំងអស់អាចប្រើដើម្បីបង្កើត UDFs បានទេ។ សម្រាប់ហេតុផលនេះ ម៉ាក្រូគឺជាដំណោះស្រាយដែលមានលក្ខណៈចម្រុះជាង។

    ម៉ាក្រូមិនតម្រូវឱ្យអ្នកប្រើប្រាស់ឆ្លងកាត់អាគុយម៉ង់ណាមួយទេ (ក៏មិនអាចទទួលយកអាគុយម៉ង់ណាមួយបានដែរ) មិនដូចមុខងារកំណត់ដោយអ្នកប្រើប្រាស់នោះទេ។

    ចំណុចគឺថាពាក្យបញ្ជាមួយចំនួននៃម៉ាក្រូអាចប្រើអាសយដ្ឋានក្រឡា ឬធាតុធ្វើទ្រង់ទ្រាយ (ឧទាហរណ៍ពណ៌)។ ប្រសិនបើអ្នកផ្លាស់ទីក្រឡា បន្ថែម ឬលុបជួរដេក និងជួរឈរ ផ្លាស់ប្តូរទ្រង់ទ្រាយក្រឡា នោះអ្នកអាច "បំបែក" ម៉ាក្រូរបស់អ្នកយ៉ាងងាយស្រួល។ វាអាចទៅរួចជាពិសេសប្រសិនបើអ្នកចែករំលែកឯកសាររបស់អ្នកជាមួយសហសេវិកដែលមិនដឹងថាម៉ាក្រូរបស់អ្នកដំណើរការយ៉ាងដូចម្តេច។

    ឧទាហរណ៍ អ្នកមានឯកសារដែលមានម៉ាក្រូដំណើរការល្អឥតខ្ចោះ។ រូបមន្តនេះគណនាភាគរយនៃក្រឡា A1 ដល់ A4 ។ ម៉ាក្រូផ្លាស់ប្តូរពណ៌នៃកោសិកាទាំងនេះទៅជាពណ៌លឿង។ ទម្រង់ភាគរយត្រូវបានកំណត់នៅក្នុងក្រឡាសកម្ម។

    ប្រសិនបើអ្នក ឬនរណាម្នាក់ផ្សេងទៀតសម្រេចចិត្តបញ្ចូលជួរថ្មី ម៉ាក្រូនឹងបន្តស្វែងរកតម្លៃក្នុងក្រឡា A4 ( ប៉ារ៉ាម៉ែត្រ 4.1 នៅក្នុង UDF របស់អ្នក) បរាជ័យ ហើយត្រឡប់កំហុសមួយ៖

    ក្នុងករណីនេះ កំហុសបានកើតឡើងដោយសារការបែងចែកដោយសូន្យ (គ្មានតម្លៃនៅក្នុងធាតុដែលបានបន្ថែមថ្មី ជួរ) ។ ក្នុងករណីម៉ាក្រូដំណើរការ ចូរនិយាយថា ការបូកសរុប នោះអ្នកនឹងទទួលបានលទ្ធផលខុស។ ប៉ុន្តែអ្នកនឹងមិនដឹងអំពីវាទេ។

    ផ្ទុយទៅនឹងម៉ាក្រូ មុខងារដែលបានកំណត់ដោយអ្នកប្រើប្រាស់មិនអាចបង្កឱ្យមានស្ថានភាពមិនល្អបែបនេះទេ។

    ខាងក្រោមអ្នកឃើញដំណើរការរបស់ការគណនាដូចគ្នាដោយប្រើ UDF ​​។ នៅទីនេះអ្នកអាចបញ្ជាក់ក្រឡាបញ្ចូលនៅកន្លែងណាមួយក្នុងសន្លឹកកិច្ចការ ហើយអ្នកនឹងមិនប្រឈមមុខនឹងបញ្ហាដែលមិននឹកស្មានដល់នៅពេលផ្លាស់ប្តូរវា។

    ខ្ញុំបានសរសេររូបមន្តខាងក្រោមនៅក្នុង C3៖

    =UDF_vs_Macro(A1,A4)

    បន្ទាប់​មក​ខ្ញុំ​បាន​បញ្ចូល​ជួរ​ដេក​ទទេ ហើយ​រូបមន្ត​បាន​ផ្លាស់ប្ដូរ​ដូច​ដែល​អ្នក​អាច​មើល​ឃើញ​ក្នុង​រូបថត​អេក្រង់​ខាង​លើ។

    ឥឡូវ​នេះ យើង​អាច​ផ្លាស់ទី​ក្រឡា​បញ្ចូល ឬ​ក្រឡា​ដែល​មាន​មុខងារ​ទៅ​គ្រប់​ទីកន្លែង។ លទ្ធផលនឹងត្រឹមត្រូវជានិច្ច។

    អត្ថប្រយោជន៍បន្ថែមនៃការប្រើប្រាស់ UDF គឺថាពួកវាធ្វើបច្ចុប្បន្នភាពដោយស្វ័យប្រវត្តិនៅពេលដែលតម្លៃនៅក្នុងក្រឡាបញ្ចូលផ្លាស់ប្តូរ។ នៅពេលប្រើម៉ាក្រូ អ្នកត្រូវតែធានាថាទិន្នន័យទាំងអស់គឺទាន់សម័យ។

    ដោយចងចាំឧទាហរណ៍នេះ ខ្ញុំចង់ប្រើ UDFs នៅគ្រប់ទីកន្លែងដែលអាចធ្វើទៅបាន ហើយប្រើម៉ាក្រូសម្រាប់តែសកម្មភាពដែលមិនមែនជាការគណនាផ្សេងទៀត។

    ដែនកំណត់ និងគុណវិបត្តិនៃការប្រើប្រាស់ UDF

    ខ្ញុំបានរៀបរាប់អំពីគុណសម្បត្តិរបស់ UDF ខាងលើរួចហើយ។ រឿងខ្លី វាអាចអនុវត្តការគណនាដែលមិនអាចធ្វើទៅបានជាមួយនឹងមុខងារ Excel ស្តង់ដារ។ លើសពីនេះទៀត វាអាចរក្សាទុក និងប្រើប្រាស់រូបមន្តដ៏វែង និងស្មុគស្មាញ ដោយបង្វែរពួកវាទៅជាមុខងារតែមួយ។ ហើយ​អ្នក​នឹង​មិន​ចាំបាច់​សរសេរ​រូបមន្ត​ស្មុគស្មាញ​ម្តង​ហើយ​ម្តង​ទៀត​ទេ។

    ឥឡូវ​នេះ​សូម​និយាយ​លម្អិត​បន្ថែម​ទៀត​អំពី​ចំណុច​ខ្វះខាត​របស់ UDF៖

    • ការ​បង្កើត UDFs ទាមទារ​ការ​ប្រើ VBA។ មិនមានផ្លូវជុំវិញវាទេ។ នេះមានន័យថាអ្នកប្រើប្រាស់មិនអាចកត់ត្រា UDF តាមរបៀបដូចគ្នានឹងម៉ាក្រូ Excel បានទេ។ អ្នកត្រូវតែបង្កើត UDF ដោយខ្លួនឯង។ ទោះយ៉ាងណាក៏ដោយអ្នកអាចចម្លងនិងបិទភ្ជាប់ផ្នែកនៃកូដម៉ាក្រូដែលបានកត់ត្រាពីមុនទៅក្នុងមុខងាររបស់អ្នក។ អ្នកគ្រាន់តែត្រូវដឹងពីដែនកំណត់នៃមុខងារផ្ទាល់ខ្លួន។
    • គុណវិបត្តិមួយទៀតនៃ UDF គឺដូចជាមុខងារ Excel ផ្សេងទៀតដែរ វាអាចត្រឡប់តម្លៃតែមួយ ឬតម្លៃអារេទៅក្នុងក្រឡាមួយ។ វាដំណើរការការគណនាដោយសាមញ្ញ គ្មានអ្វីទៀតទេ។
    • ប្រសិនបើអ្នកចង់ចែករំលែកសៀវភៅការងាររបស់អ្នកជាមួយសហការីរបស់អ្នក ត្រូវប្រាកដថារក្សាទុក UDF របស់អ្នកនៅក្នុងឯកសារតែមួយ។ បើមិនដូច្នោះទេ មុខងារផ្ទាល់ខ្លួនរបស់អ្នកនឹងមិនដំណើរការសម្រាប់ពួកវាទេ។
    • មុខងារផ្ទាល់ខ្លួនដែលបានបង្កើតជាមួយកម្មវិធីនិពន្ធ VBA គឺយឺតជាងមុខងារធម្មតា។ នេះគួរឱ្យកត់សម្គាល់ជាពិសេសនៅក្នុងតារាងធំ។ ជាអកុសល VBA គឺជាភាសាសរសេរកម្មវិធីយឺតណាស់រហូតមកដល់ពេលនេះ។ ដូច្នេះ ប្រសិនបើអ្នកមានទិន្នន័យច្រើន សូមព្យាយាមប្រើមុខងារស្តង់ដារនៅពេលណាដែលអាចធ្វើទៅបាន ឬបង្កើត UDFs ដោយប្រើមុខងារ LAMBDA។

    ដែនកំណត់មុខងារផ្ទាល់ខ្លួន៖

    • UDFs គឺ រចនាឡើងដើម្បីអនុវត្តការគណនា និងត្រឡប់តម្លៃមួយ។ ពួកវាមិនអាចប្រើជំនួសម៉ាក្រូបានទេ។
    • ពួកវាមិនអាចផ្លាស់ប្តូរមាតិកានៃក្រឡាផ្សេងទៀតបានទេ (មានតែក្រឡាសកម្ម)។
    • ឈ្មោះមុខងារត្រូវតែអនុវត្តតាមច្បាប់ជាក់លាក់។ ឧទាហរណ៍ អ្នកមិនអាចប្រើឈ្មោះដែលត្រូវគ្នានឹងឈ្មោះមុខងារ Excel ដើម ឬអាសយដ្ឋានក្រឡាដូចជា AB123។
    • មុខងារផ្ទាល់ខ្លួនរបស់អ្នកមិនអាចមានដកឃ្លានៅក្នុងឈ្មោះនោះទេ ប៉ុន្តែវាអាចរួមបញ្ចូលតួអក្សរគូសក្រោម។ ទោះជាយ៉ាងណាក៏ដោយ វិធីសាស្ត្រដែលពេញចិត្តគឺត្រូវប្រើអក្សរធំនៅដើមនៃថ្មីនីមួយៗword (ឧទាហរណ៍ GetMaxBetween)។
    • UDF មិនអាចចម្លង និងបិទភ្ជាប់ក្រឡាទៅផ្នែកផ្សេងទៀតនៃសន្លឹកកិច្ចការបានទេ។
    • ពួកគេមិនអាចផ្លាស់ប្តូរសន្លឹកកិច្ចការសកម្មបានទេ។
    • UDFs អាច' t ផ្លាស់ប្តូរទម្រង់នៅក្នុងក្រឡាសកម្ម។ ប្រសិនបើ​អ្នក​ចង់​ផ្លាស់ប្ដូរ​ការ​ធ្វើ​ទ្រង់ទ្រាយ​ក្រឡា​ពេល​បង្ហាញ​តម្លៃ​ខុស​គ្នា អ្នក​គួរ​ប្រើ​ទម្រង់​តាម​លក្ខខណ្ឌ។
    • ពួកគេ​មិន​អាច​បើក​សៀវភៅ​បន្ថែម​បាន​ទេ។
    • ពួកវា​មិន​អាច​ប្រើ​ដើម្បី​ដំណើរការ​ម៉ាក្រូ​ដោយ​ប្រើ Application.OnTime .
    • មុខងារកំណត់ដោយអ្នកប្រើប្រាស់មិនអាចបង្កើតដោយប្រើម៉ាស៊ីនថតម៉ាក្រូទេ។
    • មុខងារមិនបង្ហាញនៅក្នុង អ្នកអភិវឌ្ឍន៍ > Macros dialog។
    • មុខងាររបស់អ្នកនឹងបង្ហាញនៅក្នុងប្រអប់ ( Insert > Function ) ហើយនៅក្នុងបញ្ជីមុខងារលុះត្រាតែពួកវាត្រូវបានប្រកាសថាជា សាធារណៈ (នេះជាលំនាំដើម លើកលែងតែមានការកត់សម្គាល់ផ្សេង)។
    • មុខងារណាមួយដែលត្រូវបានប្រកាសថាជា ឯកជន នឹងមិនបង្ហាញក្នុងបញ្ជីលក្ខណៈពិសេសនោះទេ។

    ប្រតិបត្តិការយឺតណាស់។ ក៏ដូចជាការរឹតបន្តឹងមួយចំនួនក្នុងការប្រើប្រាស់ អាចធ្វើឱ្យអ្នកគិតថា: "តើការប្រើប្រាស់មុខងារផ្ទាល់ខ្លួនទាំងនេះគឺជាអ្វី?"

    ពួកវាអាចមានប្រយោជន៍ ហើយធ្វើបានប្រសិនបើយើងចងចាំពីឧបសគ្គដែលដាក់លើពួកគេ។ ប្រសិនបើអ្នករៀនពីរបៀបបង្កើត និងប្រើប្រាស់ UDFs ឱ្យបានត្រឹមត្រូវ អ្នកអាចសរសេរមុខងារបណ្ណាល័យរបស់អ្នក។ វានឹងពង្រីកសមត្ថភាពរបស់អ្នកក្នុងការធ្វើការជាមួយទិន្នន័យនៅក្នុង Excel។

    សម្រាប់ខ្ញុំ មុខងារផ្ទាល់ខ្លួនគឺជាកម្មវិធីសន្សំសំចៃពេលវេលាដ៏អស្ចារ្យ។ ហើយ​ចុះ​អ្នក​វិញ? តើអ្នកបានសាកល្បងបង្កើត UDF ផ្ទាល់ខ្លួនរបស់អ្នកហើយឬនៅ? តើ​អ្នក​ចូលចិត្ត​វា​ឬទេប្រសើរជាងមុខងារ Excel មូលដ្ឋាន? តោះពិភាក្សាវានៅក្នុង Comments :)

    ម៉ៃឃើល ប្រោន ជា​អ្នក​ចូល​ចិត្ត​ផ្នែក​បច្ចេកវិទ្យា​ដែល​មាន​ចំណង់​ចំណូល​ចិត្ត​ក្នុង​ការ​សម្រួល​ដំណើរការ​ស្មុគស្មាញ​ដោយ​ប្រើ​ឧបករណ៍​កម្មវិធី។ ជាមួយនឹងបទពិសោធន៍ជាងមួយទស្សវត្សនៅក្នុងឧស្សាហកម្មបច្ចេកវិទ្យា គាត់បានពង្រឹងជំនាញរបស់គាត់នៅក្នុង Microsoft Excel និង Outlook ក៏ដូចជា Google Sheets និង Docs ។ ប្លក់របស់ម៉ៃឃើលគឺឧទ្ទិសដល់ការចែករំលែកចំណេះដឹង និងជំនាញរបស់គាត់ជាមួយអ្នកដទៃ ដោយផ្តល់នូវគន្លឹះ និងមេរៀនដែលងាយស្រួលធ្វើតាមសម្រាប់ការកែលម្អផលិតភាព និងប្រសិទ្ធភាព។ មិនថាអ្នកជាអ្នកជំនាញ ឬអ្នកចាប់ផ្តើមដំបូងទេ ប្លក់របស់ Michael ផ្តល់នូវការយល់ដឹងដ៏មានតម្លៃ និងដំបូន្មានជាក់ស្តែងសម្រាប់ការទទួលបានអត្ថប្រយោជន៍ច្រើនបំផុតពីឧបករណ៍កម្មវិធីសំខាន់ៗទាំងនេះ។