Բովանդակություն
Այսօր մենք կշարունակենք ուսումնասիրել Excel-ի հատուկ գործառույթները: Քանի որ դուք արդեն գիտեք, թե ինչպես ստեղծել UDF-ներ (և, հուսով եմ, դուք նաև փորձել եք դրանք կիրառել ձեր Excel-ում), եկեք մի փոքր խորանանք և սովորենք, թե ինչպես օգտագործել և պահպանել օգտվողի կողմից սահմանված գործառույթները Excel-ում:
<0 Ավելին, մենք ձեզ ցույց կտանք, թե ինչպես հեշտությամբ պահպանել ձեր գործառույթները Excel-ի հավելյալ ֆայլում՝ մի քանի կտտոցով հետագայում դրանք օգտագործելու համար:Այսպիսով, ահա թե ինչի մասին ենք խոսելու.
UDF-ի օգտագործման տարբեր եղանակներ Excel-ում
UDF-ների օգտագործումը աշխատանքային թերթերում
Հենց որ հաստատեք, որ ձեր UDF-ները ճիշտ են աշխատում, կարող եք դրանք օգտագործել 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, մենք ստանում ենք ապրանքի անվանումը, որը համապատասխանում է այս առավելագույն արժեքին.
<0:>Ինչպես տեսնում եք, մաքսային գործառույթների օգտագործումը շատ չի տարբերվում սովորական Excel-իցգործառույթներ:
Դա անելիս հիշեք, որ օգտագործողի կողմից սահմանված գործառույթը կարող է միայն արժեք վերադարձնել, բայց չի կարող այլ գործողություններ կատարել: Կարդացեք ավելին օգտատիրոջ կողմից սահմանված գործառույթների սահմանափակումների մասին:
UDF-ի օգտագործումը VBA ընթացակարգերում և գործառույթներում
UDF-ները կարող են օգտագործվել նաև VBA մակրոներում: Ստորև կարող եք տեսնել մակրո կոդը, որը փնտրում է առավելագույն արժեքը 10-ից 50 միջակայքում ակտիվ բջիջը պարունակող սյունակում:
Sub MacroWithUDF() Dim Rng As Range, maxcase, i As Long With ActiveSheet.Range( Բջիջներ(ActiveCell.CurrentRegion.Row, ActiveCell.Column), Cells(ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) maxcase = GetMaxBetween(.Cells,50) = 10: Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End SubՄակրո կոդը պարունակում է հատուկ ֆունկցիա
GetMaxBetween(.Cells, 10, 50)
Այն գտնում է առավելագույն արժեքը ակտիվ սյունակում: Այս արժեքը կընդգծվի այն ժամանակ: Դուք կարող եք տեսնել մակրոյի արդյունքը ստորև ներկայացված սքրինշոթում:
Մաքսային գործառույթը կարող է օգտագործվել նաև մեկ այլ հատուկ գործառույթի ներսում: Ավելի վաղ մեր բլոգում մենք դիտարկել էինք թիվը տեքստի փոխակերպելու խնդիրը՝ օգտագործելով SpellNumber մաքսային ֆունկցիան:
Դրա օգնությամբ մենք կարող ենք ստանալ առավելագույն արժեքը միջակայքից և անմիջապես գրեք այն որպես տեքստ:
Դա անելու համար մենք կստեղծենք նոր հատուկ գործառույթ, որտեղ մենք կօգտագործենք գործառույթները GetMaxBetween և SpellNumber , որոնք արդեն ծանոթ են մեզ:
SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxCBetween, Minr) ֆունկցիան: ՖունկցիանԻնչպես տեսնում եք, GetMaxBetween ֆունկցիան արգումենտ է մեկ այլ հատուկ ֆունկցիայի՝ SpellNumber : Այն սահմանում է առավելագույն արժեքը, ինչպես մենք նախկինում բազմիցս արել ենք: Այս թիվը այնուհետև վերածվում է տեքստի:
Վերևի սքրինշոթում դուք կարող եք տեսնել, թե ինչպես է 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 հավելյալ ֆայլում պահելն է: . Հավելվածի օգտագործման առավելությունները.
- Դուք պետք է հավելումը միացնեք Excel-ին ընդամենը մեկ անգամ: Դրանից հետո դուք կարող եք օգտագործել դրա ընթացակարգերը և գործառույթները այս համակարգչի ցանկացած ֆայլում: Ձեզ հարկավոր չէ ձեր աշխատանքային գրքերը պահել .xlsm և .xlsb ձևաչափերով, քանի որ սկզբնական կոդը չի պահվի դրանցում, այլ հավելյալ ֆայլում:
- Ձեզ այլևս չի անհանգստացնի մակրոների պաշտպանությունը, քանի որ հավելումները միշտ վերաբերում են վստահելի աղբյուրներին:
- Հավելվածը առանձին ֆայլ է: Հեշտ է այն համակարգչից համակարգիչ փոխանցել, այն կիսել գործընկերների հետ:
Ավելացում ստեղծելու և օգտագործելու մասին ավելի ուշ կխոսենք:
Օգտագործելով հավելում- մաքսային գործառույթները պահելու համար
Ինչպե՞ս կարող եմ ստեղծել իմ սեփական հավելումը: Եկեք քայլ առ քայլ անցնենք այս գործընթացին:
Քայլ 1. Ստեղծեք հավելյալ ֆայլը
Բացեք Microsoft Excel-ը, ստեղծեք նոր աշխատանքային գիրք և պահեք այն ցանկացած հարմար անվան տակ (օրինակ. My_Functions) հավելյալ ձևաչափով: Դա անելու համար օգտագործեք Ֆայլ - Պահպանել որպես ընտրացանկը կամ F12 ստեղնը: Համոզվեք, որ նշեք ֆայլի տեսակը Excel հավելում :
Ձեր հավելումը կունենա .xlam ընդլայնում:
Հուշում. Խնդրում ենք նկատի ունենալ, որլռելյայնորեն Excel-ը պահում է հավելումները C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns պանակում: Ես խորհուրդ եմ տալիս ընդունել լռելյայն տեղադրությունը: Եթե ցանկանում եք, կարող եք նշել ցանկացած այլ թղթապանակ: Բայց հետո, հավելումը միացնելիս, ձեզ հարկավոր է ձեռքով գտնել և նշել դրա նոր վայրը: Եթե այն պահում եք լռելյայն թղթապանակում, պետք չէ ձեր համակարգչում հավելումը փնտրել: Excel-ը ավտոմատ կերպով կցուցադրի այն:
Քայլ 2. Միացրեք հավելյալ ֆայլը
Այժմ մեր ստեղծած հավելումը պետք է միացված լինի Excel-ին: Այնուհետև այն ավտոմատ կերպով կբեռնվի, երբ ծրագիրը սկսվի: Դա անելու համար օգտագործեք Ֆայլ - Ընտրանքներ - Հավելումներ ընտրացանկը: Համոզվեք, որ Excel Add-Ins ընտրված է Կառավարում դաշտում: Կտտացրեք պատուհանի ներքևում գտնվող Գնալ կոճակին: Բացվող պատուհանում նշեք մեր My_Functions հավելումը: Եթե այն չեք տեսնում ցանկում, սեղմեք Դիտել կոճակը և դիտեք ձեր հավելյալ ֆայլի գտնվելու վայրը:
Եթե դուք օգտագործվում են հավելումներ՝ հատուկ գործառույթները պահելու համար, կա մեկ պարզ կանոն, որը պետք է հետևել: Եթե աշխատանքային գրքույկը տեղափոխում եք այլ մարդկանց, համոզվեք, որ փոխանցեք նաև հավելյալի պատճենը, որը պարունակում է ձեր ուզած ֆունկցիոնալությունը: Նրանք պետք է միացնեն այն նույն ձևով, ինչպես դուք արեցիք հիմա:
Քայլ 3. Ավելացրեք հատուկ գործառույթներ և մակրոներ հավելումին
Մեր հավելումը միացված է Excel-ին, բայց այն չի ոչ մի ֆունկցիոնալություն չունիդեռ. Դրան նոր UDF-ներ ավելացնելու համար բացեք Visual Basic խմբագրիչը՝ սեղմելով Alt + F11: Այնուհետև կարող եք ավելացնել նոր մոդուլներ VBA կոդով, ինչպես նկարագրված է իմ «Ստեղծել UDFs» ձեռնարկում:
Ընտրեք ձեր հավելյալ ֆայլը ( My_Finctions.xlam ) VBAProject պատուհանը: Օգտագործեք Տեղադրեք - մոդուլ ընտրացանկը` հատուկ մոդուլ ավելացնելու համար: Դուք պետք է դրա մեջ գրեք հատուկ գործառույթներ:
Դուք կարող եք կամ ձեռքով մուտքագրել օգտվողի կողմից սահմանված գործառույթի կոդը կամ պատճենել այն ինչ-որ տեղից:
Ամեն ինչ: Այժմ դուք ստեղծել եք ձեր սեփական հավելումը, այն ավելացրել եք Excel-ում և կարող եք դրա մեջ օգտագործել UDF-ը: Եթե ցանկանում եք ավելի շատ UDF-ներ օգտագործել, պարզապես գրեք կոդը VBA խմբագրիչի հավելյալ մոդուլում և պահեք այն:
Այսօրվա համար ամեն ինչ: Մենք սովորել ենք, թե ինչպես օգտագործել ձեր աշխատանքային գրքում օգտագործողի կողմից սահմանված գործառույթները: Մենք իսկապես հուսով ենք, որ դուք կգտնեք այս ուղեցույցները օգտակար: Հարցերի դեպքում գրեք այս հոդվածի մեկնաբանություններում։