តារាងមាតិកា
ថ្ងៃនេះ យើងនឹងបន្តស្វែងរកមុខងារ Excel ផ្ទាល់ខ្លួន។ ដូចដែលអ្នកបានដឹងរួចមកហើយពីរបៀបបង្កើត UDFs (ហើយខ្ញុំសង្ឃឹមថាអ្នកក៏បានព្យាយាមអនុវត្តពួកវានៅក្នុង Excel របស់អ្នកផងដែរ) ចូរយើងស្វែងយល់ឱ្យកាន់តែស៊ីជម្រៅបន្តិច ហើយរៀនពីរបៀបប្រើប្រាស់ និងរក្សាទុកមុខងារដែលកំណត់ដោយអ្នកប្រើប្រាស់នៅក្នុង Excel។
លើសពីនេះទៅទៀត យើងនឹងបង្ហាញអ្នកពីរបៀបរក្សាទុកមុខងាររបស់អ្នកយ៉ាងងាយស្រួលនៅក្នុងឯកសារបន្ថែម Excel ដើម្បីប្រើវានៅពេលក្រោយដោយចុចពីរបីដង។
ដូច្នេះ នេះជាអ្វីដែលយើងនឹងនិយាយអំពី៖
វិធីផ្សេងគ្នានៃការប្រើប្រាស់ UDF ក្នុង Excel
ការប្រើប្រាស់ UDFs ក្នុងសន្លឹកកិច្ចការ
នៅពេលដែលអ្នកបានផ្ទៀងផ្ទាត់ថា UDFs របស់អ្នកដំណើរការបានត្រឹមត្រូវ អ្នកអាចប្រើពួកវានៅក្នុង Excel បាន រូបមន្ត ឬនៅក្នុងកូដ VBA។
អ្នកអាចអនុវត្តមុខងារផ្ទាល់ខ្លួននៅក្នុងសៀវភៅការងារ Excel តាមរបៀបដូចគ្នានឹងអ្នកប្រើមុខងារធម្មតា។ ជាឧទាហរណ៍ គ្រាន់តែសរសេរក្នុងក្រឡាមួយរូបមន្តខាងក្រោម៖
= GetMaxBetween(A1:A6,10,50)
UDF អាចត្រូវបានប្រើប្រាស់រួមជាមួយនឹងមុខងារធម្មតា។ ឧទាហរណ៍ បន្ថែមអត្ថបទទៅតម្លៃអតិបរមាដែលបានគណនា៖
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
អ្នកអាចឃើញលទ្ធផលនៅក្នុងរូបថតអេក្រង់ខាងក្រោម៖
អ្នក អាចស្វែងរកលេខដែលអតិបរមាទាំងពីរ ហើយស្ថិតក្នុងចន្លោះពី 10 ដល់ 50។
តោះពិនិត្យមើលរូបមន្តមួយទៀត៖
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
មុខងារផ្ទាល់ខ្លួន GetMaxBetween ពិនិត្យជួរ B2:B9 និងស្វែងរកចំនួនអតិបរមារវាង 10 និង 50។ បន្ទាប់មកដោយប្រើ INDEX + MATCH យើងទទួលបានឈ្មោះផលិតផលដែលត្រូវនឹងតម្លៃអតិបរមានេះ៖
ដូចដែលអ្នកអាចឃើញ ការប្រើប្រាស់មុខងារផ្ទាល់ខ្លួនមិនខុសពី Excel ធម្មតាទេ។functions។
នៅពេលធ្វើដូចនេះ សូមចាំថាមុខងារដែលកំណត់ដោយអ្នកប្រើប្រាស់អាចត្រឡប់ត្រឹមតែតម្លៃមួយប៉ុណ្ណោះ ប៉ុន្តែមិនអាចអនុវត្តសកម្មភាពផ្សេងទៀតបានទេ។ សូមអានបន្ថែមអំពីការរឹតបន្តឹងនៃមុខងារដែលកំណត់ដោយអ្នកប្រើប្រាស់។
ការប្រើប្រាស់ UDF នៅក្នុងដំណើរការ និងមុខងារ VBA
UDFs ក៏អាចប្រើនៅក្នុងម៉ាក្រូ VBA ផងដែរ។ ខាងក្រោមអ្នកអាចឃើញកូដម៉ាក្រូដែលស្វែងរកតម្លៃអតិបរមាក្នុងចន្លោះពី 10 ដល់ 50 ក្នុងជួរឈរដែលមានក្រឡាសកម្ម។
Sub MacroWithUDF() Dim Rng As Range, maxcase, i As Long With ActiveSheet.Range( Cells(ActiveCell.CurrentRegion.Row, ActiveCell.Column), Cells(ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) maxcase = GetMaxBetween.Cells, 10, 50) i = Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End Subកូដម៉ាក្រូមានមុខងារផ្ទាល់ខ្លួន
GetMaxBetween(.Cells, 10, 50)
វា ស្វែងរកតម្លៃអតិបរមានៅក្នុងជួរឈរសកម្ម។ តម្លៃនេះនឹងត្រូវបានបន្លិចនៅពេលនោះ។ អ្នកអាចឃើញលទ្ធផលនៃម៉ាក្រូនៅក្នុងរូបថតអេក្រង់ខាងក្រោម។
មុខងារផ្ទាល់ខ្លួនក៏អាចប្រើនៅក្នុងមុខងារផ្ទាល់ខ្លួនផ្សេងទៀតផងដែរ។ មុននេះនៅក្នុងប្លុករបស់យើង យើងបានពិនិត្យមើលបញ្ហានៃការបំប្លែងលេខទៅជាអត្ថបទដោយប្រើមុខងារផ្ទាល់ខ្លួនដែលមានឈ្មោះថា លេខអក្ខរាវិរុទ្ធ ។
ដោយមានជំនួយរបស់វា យើងអាចទទួលបានតម្លៃអតិបរមាពីជួរ ហើយភ្លាមៗ សរសេរវាជាអត្ថបទ។
ដើម្បីធ្វើដូច្នេះ យើងនឹងបង្កើតមុខងារផ្ទាល់ខ្លួនថ្មីមួយ ដែលយើងនឹងប្រើមុខងារ GetMaxBetween និង SpellNumber ដែលធ្លាប់ស្គាល់យើងរួចហើយ។
Function SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxBetween (rngCells, MaxNum) លេខចុងក្រោយ) អនុគមន៍ដូចដែលអ្នកអាចមើលឃើញ អនុគមន៍ GetMaxBetween គឺជាអាគុយម៉ង់ទៅមុខងារផ្ទាល់ខ្លួនមួយទៀត លេខអក្ខរាវិរុទ្ធ ។ វាកំណត់តម្លៃអតិបរមា ដូចដែលយើងបានធ្វើច្រើនដងពីមុនមក។ បន្ទាប់មកលេខនេះត្រូវបានបំប្លែងទៅជាអត្ថបទ។
នៅក្នុងរូបថតអេក្រង់ខាងលើ អ្នកអាចមើលឃើញពីរបៀបដែលមុខងារ SpellGetMaxBetween ស្វែងរកចំនួនអតិបរមារវាង 100 និង 500 និង បន្ទាប់មកបម្លែងវាទៅជាអត្ថបទ។
ការហៅ UDF ពីសៀវភៅការងារផ្សេងទៀត
ប្រសិនបើអ្នកបានបង្កើត UDF នៅក្នុងសៀវភៅការងាររបស់អ្នក នេះមិនមែនមានន័យថាអ្នកនឹងមិនជួបបញ្ហាអ្វីទាំងអស់។
តាមបទពិសោធន៍របស់ខ្ញុំ អ្នកប្រើប្រាស់ភាគច្រើនឆាប់ឬក្រោយមកបង្កើតការប្រមូលម៉ាក្រូ និងមុខងារផ្ទាល់ខ្លួនរបស់ពួកគេ ដើម្បីធ្វើស្វ័យប្រវត្តិកម្មដំណើរការ និងការគណនានីមួយៗ។ ហើយនៅទីនេះបញ្ហាកើតឡើង - កូដនៃមុខងារដែលបានកំណត់ដោយអ្នកប្រើប្រាស់នៅក្នុង Visual Basic ចាំបាច់ត្រូវរក្សាទុកនៅកន្លែងណាមួយ ដើម្បីប្រើប្រាស់នៅពេលក្រោយក្នុងការងារ។
ដើម្បីអនុវត្តមុខងារផ្ទាល់ខ្លួន សៀវភៅការងារដែលអ្នកបានរក្សាទុកវាត្រូវតែបើក។ នៅក្នុង Excel របស់អ្នក។ ប្រសិនបើវាមិនមែនទេ អ្នកនឹងទទួលបាន #NAME! កំហុសនៅពេលព្យាយាមប្រើវា។ កំហុសនេះបង្ហាញថា Excel មិនស្គាល់ឈ្មោះមុខងារដែលអ្នកចង់ប្រើក្នុងរូបមន្ត។
តោះមើលវិធីក្នុងដែលអ្នកអាចប្រើមុខងារផ្ទាល់ខ្លួនដែលអ្នកបង្កើត។
វិធីសាស្រ្ត 1. បន្ថែមឈ្មោះសៀវភៅការងារទៅមុខងារ
អ្នកអាចបញ្ជាក់ឈ្មោះសៀវភៅការងារដែលវាស្ថិតនៅមុនឈ្មោះរបស់ មុខងារ។ ឧទាហរណ៍ ប្រសិនបើអ្នកបានរក្សាទុកមុខងារផ្ទាល់ខ្លួន GetMaxBetween() នៅក្នុងសៀវភៅការងារដែលមានឈ្មោះ My_Functions.xlsm នោះអ្នកត្រូវតែបញ្ចូលរូបមន្តខាងក្រោម៖
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
វិធីសាស្រ្ត 2. រក្សាទុក UDF ទាំងអស់នៅក្នុងឯកសារទូទៅមួយ
រក្សាទុកមុខងារផ្ទាល់ខ្លួនទាំងអស់នៅក្នុងសៀវភៅការងារពិសេសមួយ (ឧទាហរណ៍ My_Functions.xlsm ) ហើយចម្លងមុខងារដែលចង់បានពីវាទៅក្នុង សៀវភៅការងារបច្ចុប្បន្ន ប្រសិនបើចាំបាច់។
រាល់ពេលដែលអ្នកបង្កើតមុខងារផ្ទាល់ខ្លួនថ្មី អ្នកត្រូវចម្លងកូដរបស់វានៅក្នុងសៀវភៅការងារដែលអ្នកនឹងប្រើវា។ ជាមួយនឹងវិធីសាស្ត្រនេះ ការរអាក់រអួលជាច្រើនអាចកើតឡើង៖
- ប្រសិនបើមានឯកសារធ្វើការច្រើន ហើយមុខងារត្រូវការនៅគ្រប់ទីកន្លែង នោះកូដនឹងត្រូវចម្លងទៅក្នុងសៀវភៅនីមួយៗ។
- ចងចាំរក្សាទុកសៀវភៅការងារជាទម្រង់ដែលបានបើកម៉ាក្រូ (.xlsm ឬ .xlsb)។
- នៅពេលបើកឯកសារបែបនេះ ការការពារប្រឆាំងនឹងម៉ាក្រូនឹងបង្ហាញការព្រមានរាល់ពេល ដែលត្រូវតែបញ្ជាក់។ អ្នកប្រើជាច្រើនភ័យខ្លាចពេលឃើញរបារពណ៌លឿងព្រមានដែលសុំឱ្យគេបើកម៉ាក្រូ។ ដើម្បីជៀសវាងការមើលឃើញសារនេះ អ្នកត្រូវបិទការការពារ Excel ទាំងស្រុង។ ទោះជាយ៉ាងណាក៏ដោយ វាប្រហែលជាមិនតែងតែត្រឹមត្រូវ និងមានសុវត្ថិភាពនោះទេ។
ខ្ញុំគិតថាអ្នកនឹងយល់ស្របជាមួយខ្ញុំដែលគ្រប់ពេលបើកឯកសារ និងការចម្លងកូដនៃមុខងារកំណត់ដោយអ្នកប្រើប្រាស់ពីវា ឬការសរសេរឈ្មោះឯកសារនេះក្នុងរូបមន្តមិនមែនជាដំណោះស្រាយដ៏ល្អបំផុតនោះទេ។ ដូច្នេះ យើងបានមកដល់វិធីទីបី។
វិធីទី 3. បង្កើតឯកសារបន្ថែម Excel
ខ្ញុំគិតថាវិធីល្អបំផុតគឺរក្សាទុកមុខងារផ្ទាល់ខ្លួនដែលប្រើញឹកញាប់នៅក្នុងឯកសារបន្ថែម Excel . អត្ថប្រយោជន៍នៃការប្រើប្រាស់ add-in៖
- អ្នកត្រូវភ្ជាប់ add-in ទៅ Excel តែម្តង។ បន្ទាប់ពីនោះ អ្នកអាចប្រើនីតិវិធី និងមុខងាររបស់វានៅក្នុងឯកសារណាមួយនៅលើកុំព្យូទ័រនេះ។ អ្នកមិនចាំបាច់រក្សាទុកសៀវភៅការងាររបស់អ្នកជាទម្រង់ .xlsm និង .xlsb ទេ ព្រោះកូដប្រភពនឹងមិនត្រូវបានរក្សាទុកនៅក្នុងពួកវា ប៉ុន្តែនៅក្នុងឯកសារបន្ថែម។
- អ្នកនឹងមិនត្រូវបានរំខានដោយការការពារម៉ាក្រូទៀតទេ។ កម្មវិធីបន្ថែមតែងតែសំដៅទៅលើប្រភពដែលអាចទុកចិត្តបាន។
- កម្មវិធីបន្ថែមគឺជាឯកសារដាច់ដោយឡែក។ វាងាយស្រួលក្នុងការផ្ទេរវាពីកុំព្យូទ័រមួយទៅកុំព្យូទ័រ ដើម្បីចែករំលែកវាជាមួយមិត្តរួមការងារ។
យើងនឹងនិយាយបន្ថែមអំពីការបង្កើត និងប្រើប្រាស់កម្មវិធីបន្ថែមនៅពេលក្រោយ។
ការប្រើ add- ins ដើម្បីរក្សាទុកមុខងារផ្ទាល់ខ្លួន
តើខ្ញុំបង្កើត add-in ផ្ទាល់ខ្លួនរបស់ខ្ញុំដោយរបៀបណា? ចូរឆ្លងកាត់ដំណើរការនេះមួយជំហានម្តងៗ។
ជំហានទី 1. បង្កើតឯកសារបន្ថែម
បើក Microsoft Excel បង្កើតសៀវភៅការងារថ្មី ហើយរក្សាទុកវានៅក្រោមឈ្មោះសមរម្យណាមួយ (ឧទាហរណ៍ My_Functions) ក្នុងទម្រង់បន្ថែម។ ដើម្បីធ្វើដូចនេះសូមប្រើម៉ឺនុយ ឯកសារ - រក្សាទុកជា ឬគ្រាប់ចុច F12 ។ ត្រូវប្រាកដថាបញ្ជាក់ប្រភេទឯកសារ Excel Add-in :
កម្មវិធីបន្ថែមរបស់អ្នកនឹងមានផ្នែកបន្ថែម .xlam។
ព័ត៌មានជំនួយ។ សូមចំណាំតាមលំនាំដើម Excel រក្សាទុកកម្មវិធីបន្ថែមនៅក្នុងថត C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns ។ ខ្ញុំសូមណែនាំឱ្យអ្នកទទួលយកទីតាំងលំនាំដើម។ ប្រសិនបើអ្នកចង់ អ្នកអាចបញ្ជាក់ថតផ្សេងទៀតណាមួយ។ ប៉ុន្តែបន្ទាប់មក នៅពេលភ្ជាប់កម្មវិធីបន្ថែម អ្នកនឹងត្រូវស្វែងរក និងបញ្ជាក់ទីតាំងថ្មីរបស់វាដោយដៃ។ ប្រសិនបើអ្នករក្សាទុកវានៅក្នុងថតលំនាំដើម អ្នកមិនចាំបាច់ស្វែងរកកម្មវិធីបន្ថែមនៅលើកុំព្យូទ័ររបស់អ្នកទេ។ Excel នឹងរាយបញ្ជីដោយស្វ័យប្រវត្តិ។
ជំហាន 2. ភ្ជាប់ឯកសារបន្ថែម
ឥឡូវនេះ កម្មវិធីបន្ថែមដែលយើងបានបង្កើតត្រូវភ្ជាប់ទៅ Excel ។ បន្ទាប់មកវានឹងត្រូវបានផ្ទុកដោយស្វ័យប្រវត្តិនៅពេលកម្មវិធីចាប់ផ្តើម។ ដើម្បីធ្វើដូចនេះសូមប្រើម៉ឺនុយ ឯកសារ - ជម្រើស - បន្ថែមធាតុ ។ សូមប្រាកដថា Excel Add-Ins ត្រូវបានជ្រើសរើសនៅក្នុងវាល Manage ។ ចុចលើប៊ូតុង Go នៅផ្នែកខាងក្រោមនៃបង្អួច។ នៅក្នុងបង្អួចដែលបង្ហាញ សូមសម្គាល់កម្មវិធីបន្ថែមក្នុង My_Functions របស់យើង។ ប្រសិនបើអ្នកមិនឃើញវានៅក្នុងបញ្ជីទេ សូមចុចប៊ូតុង Browse ហើយរកមើលទីតាំងនៃឯកសារបន្ថែមរបស់អ្នក។
ប្រសិនបើអ្នក កំពុងប្រើ add-in ដើម្បីរក្សាទុកមុខងារផ្ទាល់ខ្លួន មានច្បាប់សាមញ្ញមួយដែលត្រូវអនុវត្តតាម។ ប្រសិនបើអ្នកកំពុងផ្ទេរសៀវភៅការងារទៅមនុស្សផ្សេងទៀត ត្រូវប្រាកដថាផ្ទេរច្បាប់ចម្លងនៃកម្មវិធីបន្ថែមដែលមានមុខងារដែលអ្នកចង់បាន។ ពួកគេគួរតែភ្ជាប់វាតាមរបៀបដូចដែលអ្នកបានធ្វើឥឡូវនេះ។
ជំហានទី 3. បន្ថែមមុខងារផ្ទាល់ខ្លួន និងម៉ាក្រូទៅ add-in
កម្មវិធីបន្ថែមរបស់យើងត្រូវបានភ្ជាប់ទៅ Excel ប៉ុន្តែវាមិន មិនមានមុខងារណាមួយទេ។នៅឡើយ។ ដើម្បីបន្ថែម UDFs ថ្មីទៅវា សូមបើក Visual Basic Editor ដោយចុច Alt + F11 ។ បន្ទាប់មក អ្នកអាចបន្ថែមម៉ូឌុលថ្មីជាមួយនឹងកូដ VBA ដូចដែលបានពិពណ៌នានៅក្នុងមេរៀនបង្កើត UDFs របស់ខ្ញុំ។
ជ្រើសរើសឯកសារបន្ថែមរបស់អ្នក ( My_Finctions.xlam ) នៅក្នុង បង្អួច VBAProject ។ ប្រើម៉ឺនុយ Insert - Module ដើម្បីបន្ថែមម៉ូឌុលផ្ទាល់ខ្លួន។ អ្នកត្រូវសរសេរមុខងារផ្ទាល់ខ្លួនទៅក្នុងវា។
អ្នកអាចវាយកូដនៃមុខងារដែលបានកំណត់ដោយអ្នកប្រើប្រាស់ដោយដៃ ឬចម្លងវាពីកន្លែងណាមួយ។
នោះហើយជាទាំងអស់។ ឥឡូវនេះអ្នកបានបង្កើតកម្មវិធីបន្ថែមផ្ទាល់ខ្លួនរបស់អ្នក បន្ថែមវាទៅក្នុង Excel ហើយអ្នកអាចប្រើ UDF នៅក្នុងវាបាន។ ប្រសិនបើអ្នកចង់ប្រើ UDFs បន្ថែមទៀត គ្រាន់តែសរសេរកូដនៅក្នុងម៉ូឌុលបន្ថែមនៅក្នុងកម្មវិធីនិពន្ធ VBA ហើយរក្សាទុកវា។
នោះហើយជាវាសម្រាប់ថ្ងៃនេះ។ យើងបានរៀនពីរបៀបប្រើមុខងារកំណត់ដោយអ្នកប្រើប្រាស់នៅក្នុងសៀវភៅការងាររបស់អ្នក។ យើងពិតជាសង្ឃឹមថាអ្នករកឃើញការណែនាំទាំងនេះមានប្រយោជន៍។ ប្រសិនបើអ្នកមានចម្ងល់ណាមួយ សូមសរសេរនៅក្នុងមតិយោបល់ទៅកាន់អត្ថបទនេះ។