Tabela e përmbajtjes
Sot do të vazhdojmë të eksplorojmë funksionet e personalizuara të Excel. Siç e dini tashmë se si të krijoni UDF (dhe, shpresoj se keni provuar gjithashtu t'i aplikoni ato në Excel), le të gërmojmë pak më thellë dhe të mësojmë se si të përdorim dhe ruajmë funksionet e përcaktuara nga përdoruesi në Excel.
Për më tepër, ne do t'ju tregojmë se si t'i ruani lehtësisht funksionet tuaja në një skedar shtesë Excel për t'i përdorur ato më vonë me disa klikime.
Pra, ja për çfarë do të flasim:
Mënyra të ndryshme të përdorimit të UDF në Excel
Përdorimi i UDF-ve në fletë pune
Pasi të keni verifikuar që UDF-të tuaja janë duke punuar si duhet, mund t'i përdorni ato në Excel formulat ose në kodin VBA.
Mund të aplikoni funksione të personalizuara në një libër pune Excel në të njëjtën mënyrë si përdorni funksionet e rregullta. Për shembull, thjesht shkruani në një qelizë formulën e mëposhtme:
= GetMaxBetween(A1:A6,10,50)
UDF mund të përdoret në kombinim me funksionet e rregullta. Për shembull, shtoni tekst në vlerën maksimale të llogaritur:
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
Rezultatin mund ta shihni në pamjen e mëposhtme:
Ju mund të gjejë numrin që është edhe maksimal dhe është në intervalin nga 10 në 50.
Le të kontrollojmë një formulë tjetër:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
Funksioni i personalizuar GetMaxBetween kontrollon diapazonin B2:B9 dhe gjen numrin maksimal midis 10 dhe 50. Më pas, duke përdorur INDEX + MATCH, marrim emrin e produktit që përputhet me këtë vlerë maksimale:
Siç mund ta shihni, përdorimi i funksioneve të personalizuara nuk është shumë i ndryshëm nga Excel-i i zakonshëmfunksionet.
Kur e bëni këtë, mbani mend se një funksion i përcaktuar nga përdoruesi mund të kthejë vetëm një vlerë, por nuk mund të kryejë asnjë veprim tjetër. Lexoni më shumë rreth kufizimeve të funksioneve të përcaktuara nga përdoruesi.
Përdorimi i UDF në procedurat dhe funksionet VBA
UDF-të mund të përdoren gjithashtu në makrot VBA. Më poshtë mund të shihni kodin makro që kërkon vlerën maksimale në rangun nga 10 në 50 në kolonën që përmban qelizën aktive.
Sub MacroWithUDF() Dim Rng As Range, maxcase, i Sa Long With ActiveSheet.Range( Cells(ActiveCell.CurrentRegion.Row, ActiveCell.Column), Cells(ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Rresht - 1, ActiveCell.Column)) maxcase = GetMaxBetween(.Cells,50) = 1 Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed Fund With End SubKodi makro përmban funksionin e personalizuar
GetMaxBetween(.Cells, 10, 50)
Ai gjen vlerën maksimale në kolonën aktive. Kjo vlerë do të theksohet atëherë. Mund ta shihni rezultatin e makros në pamjen e mëposhtme të ekranit.
Një funksion i personalizuar mund të përdoret gjithashtu brenda një funksioni tjetër të personalizuar. Më herët në blogun tonë, ne shikuam problemin e konvertimit të një numri në tekst duke përdorur funksionin e personalizuar të quajtur Numri i drejtshkrimit .
Me ndihmën e tij, ne mund të marrim vlerën maksimale nga diapazoni dhe menjëherë shkruajeni si tekst.
Për ta bërë këtë, ne do të krijojmë një funksion të ri personal në të cilin do të përdorim funksionet GetMaxBetween dhe SpellNumber që janë tashmë të njohura për ne.
Funksioni SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxCBetween, Minr) FunksioniSiç mund ta shihni, funksioni GetMaxBetween është një argument për një funksion tjetër të personalizuar, Numri i drejtshkrimit . Ai përcakton vlerën maksimale, siç kemi bërë shumë herë më parë. Ky numër më pas konvertohet në tekst.
Në pamjen e mësipërme, mund të shihni se si funksioni SpellGetMaxBetween gjen numrin maksimal midis 100 dhe 500 dhe pastaj e konverton atë në tekst.
Thirrja e UDF-së nga librat e tjerë të punës
Nëse keni krijuar UDF në librin tuaj të punës, kjo, për fat të keq, nuk do të thotë se nuk do të keni fare probleme.
Në përvojën time, shumica e përdoruesve herët a vonë krijojnë koleksionin e tyre personal të makrove dhe funksioneve të personalizuara për të automatizuar proceset dhe llogaritjet individuale. Dhe këtu lind problemi - kodi i funksioneve të përcaktuara nga përdoruesi në Visual Basic duhet të ruhet diku në mënyrë që të përdoret më vonë në punë.
Për të aplikuar funksionin e personalizuar, libri i punës ku e keni ruajtur duhet të jetë i hapur në Excel-in tuaj. Nëse nuk është, ju do të merrni #EMRI! gabim kur përpiqeni ta përdorni. Ky gabim tregon se Excel nuk e di emrin e funksionit që dëshironi të përdorni në formulë.
Le t'i hedhim një sy mënyrave nëtë cilat mund të përdorni funksionet e personalizuara që krijoni.
Metoda 1. Shtoni emrin e librit të punës në funksion
Mund të specifikoni emrin e librit të punës në të cilin ndodhet përpara emrit të funksionin. Për shembull, nëse keni ruajtur një funksion të personalizuar GetMaxBetween() në një libër pune të quajtur My_Functions.xlsm , atëherë duhet të futni formulën e mëposhtme:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
Metoda 2. Ruani të gjitha UDF-të në një skedar të përbashkët
Ruani të gjitha funksionet e personalizuara në një libër pune të veçantë (për shembull, My_Functions.xlsm ) dhe kopjoni funksionin e dëshiruar prej tij në librin aktual të punës, nëse është e nevojshme.
Sa herë që krijoni një funksion të ri të personalizuar, duhet të kopjoni kodin e tij në librin e punës në të cilin do ta përdorni. Me këtë metodë, mund të shfaqen disa shqetësime:
- Nëse ka shumë skedarë pune dhe funksioni nevojitet kudo, atëherë kodi do të duhet të kopjohet në çdo libër.
- Mos harroni të ruani librin e punës në një format të aktivizuar makro (.xlsm ose .xlsb).
- Kur hapni një skedar të tillë, mbrojtja kundër makros do të shfaqë një paralajmërim çdo herë, i cili duhet të konfirmohet. Shumë përdorues tremben kur shohin një paralajmërim me shirit të verdhë që u kërkon të aktivizojnë makro. Për të shmangur shikimin e këtij mesazhi, duhet të çaktivizoni plotësisht mbrojtjen e Excel. Megjithatë, kjo mund të mos jetë gjithmonë e saktë dhe e sigurt.
Mendoj se do të pajtoheni me mua që gjatë gjithë kohës hapni njëskedari dhe kopjimi i kodit të funksioneve të përcaktuara nga përdoruesi prej tij ose shkrimi i emrit të këtij skedari në një formulë nuk është zgjidhja më e mirë. Kështu, arritëm te mënyra e tretë.
Metoda 3. Krijo një skedar shtesë Excel
Mendoj se mënyra më e mirë është të ruash funksionet e personalizuara të përdorura shpesh në një skedar shtesë Excel . Përparësitë e përdorimit të shtesës:
- Duhet ta lidhni shtesën me Excel vetëm një herë. Pas kësaj, ju mund të përdorni procedurat dhe funksionet e tij në çdo skedar në këtë kompjuter. Nuk keni nevojë t'i ruani librat tuaj të punës në formatet .xlsm dhe .xlsb pasi kodi burim nuk do të ruhet në to, por në skedarin shtesë.
- Nuk do të shqetësoheni më nga mbrojtja e makrove pasi shtesat i referohen gjithmonë burimeve të besuara.
- Një shtesë është një skedar i veçantë. Është e lehtë ta transferosh atë nga kompjuteri në kompjuter, për ta ndarë me kolegët.
Ne do të flasim më shumë rreth krijimit dhe përdorimit të një shtese më vonë.
Përdorimi i shtesës ins për të ruajtur funksionet e personalizuara
Si mund të krijoj shtesën time? Le ta kalojmë këtë proces hap pas hapi.
Hapi 1. Krijoni skedarin shtesë
Hapni Microsoft Excel, krijoni një libër të ri pune dhe ruajeni nën çdo emër të përshtatshëm (për shembull, My_Functions) në format shtesë. Për ta bërë këtë, përdorni menynë Skedari - Ruaj si ose tastin F12. Sigurohuni që të specifikoni llojin e skedarit Shtesa Excel :
Shtesa juaj do të ketë shtesën .xlam.
Këshillë. Ju lutemi vini re sesi parazgjedhje Excel ruan shtesat në dosjen C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns . Unë rekomandoj që të pranoni vendndodhjen e paracaktuar. Nëse dëshironi, mund të specifikoni çdo dosje tjetër. Por më pas, kur lidhni shtesën, do t'ju duhet të gjeni dhe specifikoni vendndodhjen e tij të re manualisht. Nëse e ruani në dosjen e paracaktuar, nuk keni pse të kërkoni shtesën në kompjuterin tuaj. Excel do ta listojë automatikisht.
Hapi 2. Lidhni skedarin shtesë
Tani shtesa që kemi krijuar duhet të lidhet me Excel. Pastaj do të ngarkohet automatikisht kur të fillojë programi. Për ta bërë këtë, përdorni menynë Skedari - Opsionet - Shtesat . Sigurohuni që Excel Add-Ins të jetë zgjedhur në fushën Menaxho . Klikoni në butonin Shko në fund të dritares. Në dritaren që shfaqet, shënoni shtesën tonë My_Functions. Nëse nuk e shihni atë në listë, klikoni butonin Shfleto dhe shfletoni vendndodhjen e skedarit tuaj shtesë.
Nëse ju po përdorni një shtesë për të ruajtur funksionet e personalizuara, ekziston një rregull i thjeshtë për t'u ndjekur. Nëse po e transferoni librin e punës te një person tjetër, sigurohuni që të transferoni gjithashtu një kopje të shtesës që përmban funksionalitetin që dëshironi. Ata duhet ta lidhin atë në të njëjtën mënyrë si ju tani.
Hapi 3. Shtoni funksione të personalizuara dhe makro në shtesën
Shtesa jonë është e lidhur me Excel, por nuk nuk ka asnjë funksionalitetende. Për të shtuar UDF të reja në të, hapni Redaktorin Visual Basic duke shtypur Alt + F11. Më pas mund të shtoni module të reja me kodin VBA siç përshkruhet në tutorialin tim Krijoni UDF.
Zgjidhni skedarin tuaj shtesë ( My_Finctions.xlam ) në dritarja VBAProject. Përdorni menunë Insert - Module për të shtuar një modul të personalizuar. Duhet të shkruani funksione të personalizuara në të.
Mund të shkruani manualisht kodin e një funksioni të përcaktuar nga përdoruesi ose ta kopjoni atë nga diku.
Kjo është e gjitha. Tani ju keni krijuar shtesën tuaj, e keni shtuar në Excel dhe mund të përdorni UDF në të. Nëse dëshironi të përdorni më shumë UDF, thjesht shkruani kodin në modulin shtesë në redaktuesin VBA dhe ruajeni.
Kjo është për sot. Ne kemi mësuar se si të përdorim funksionet e përcaktuara nga përdoruesi në librin tuaj të punës. Ne me të vërtetë shpresojmë që këto udhëzime t'i gjeni të dobishme. Nëse keni ndonjë pyetje, shkruani në komentet e këtij artikulli.