Efnisyfirlit
Í dag höldum við áfram að kanna sérsniðnar Excel aðgerðir. Þar sem þú veist nú þegar hvernig á að búa til UDF (og ég vona að þú hafir líka prófað að nota þau í Excel), skulum við kafa aðeins dýpra og læra hvernig á að nota og geyma notendaskilgreindar aðgerðir í Excel.
Þar að auki sýnum við þér hvernig á að vista aðgerðir þínar auðveldlega í Excel-viðbótaskrá til að nota þær síðar með nokkrum smellum.
Svo, hér er það sem við ætlum að tala um:
Mismunandi leiðir til að nota UDF í Excel
Notkun UDFs í vinnublöðum
Þegar þú hefur staðfest að UDFs þínir virki rétt geturðu notað þau í Excel formúlur eða í VBA kóða.
Þú getur notað sérsniðnar aðgerðir í Excel vinnubók á sama hátt og þú notar venjulegar aðgerðir. Til dæmis, skrifaðu bara í reit formúluna hér að neðan:
= GetMaxBetween(A1:A6,10,50)
UDF er hægt að nota ásamt venjulegum aðgerðum. Til dæmis skaltu bæta texta við reiknað hámarksgildi:
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
Þú getur séð niðurstöðuna á skjáskotinu hér að neðan:
Þú getur fundið töluna sem er bæði hámark og er á bilinu 10 til 50.
Við skulum athuga aðra formúlu:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
Sérsniðna aðgerðin GetMaxBetween athugar bilið B2:B9 og finnur hámarksfjölda á milli 10 og 50. Síðan, með því að nota INDEX + MATCH, fáum við vöruheitið sem passar við þetta hámarksgildi:
Eins og þú sérð er notkun sérsniðinna aðgerða ekki of frábrugðin venjulegum Excelaðgerðir.
Þegar þetta er gert, mundu að notendaskilgreint fall getur aðeins skilað gildi, en getur ekki framkvæmt neinar aðrar aðgerðir. Lestu meira um takmarkanir á notendaskilgreindum aðgerðum.
Notkun UDF í VBA aðferðum og aðgerðum
UDF er einnig hægt að nota í VBA fjölvi. Hér að neðan má sjá makrókóðann sem leitar að hámarksgildi á bilinu 10 til 50 í dálkinum sem inniheldur virka reitinn.
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, 1) i Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End SubFrávikskóðinn inniheldur sérsniðna aðgerðina
GetMaxBetween(.Cells, 10, 50)
It finnur hámarksgildi í virka dálknum. Þetta gildi verður auðkennt þá. Þú getur séð niðurstöðu makrósins á skjámyndinni hér að neðan.
Einnig er hægt að nota sérsniðna aðgerð inni í annarri sérsniðinni aðgerð. Fyrr á blogginu okkar skoðuðum við vandamálið við að breyta tölu í texta með því að nota sérsniðna aðgerðina sem heitir SpellNumber .
Með hjálp þess getum við fengið hámarksgildi úr bilinu og strax skrifaðu það niður sem texta.
Til að gera þetta munum við búa til nýja sérsniðna aðgerð þar sem við notum föllin GetMaxBetween og PellNumber sem við kannast nú þegar við.
Virkni SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxNumCells, MaxNum) End AðgerðEins og þú sérð er GetMaxBetween fallið rök fyrir aðra sérsniðna aðgerð, SpellNumber . Það skilgreinir hámarksgildi eins og við höfum oft gert áður. Þessu númeri er síðan breytt í texta.
Í skjámyndinni hér að ofan geturðu séð hvernig SpellGetMaxBetween aðgerðin finnur hámarksfjöldann á milli 100 og 500 og breytir því svo í texta.
Að hringja í UDF úr öðrum vinnubókum
Ef þú hefur búið til UDF í vinnubókinni þinni þýðir það því miður ekki að þú eigir alls ekki við nein vandamál að etja.
Mín reynsla er sú að flestir notendur búa fyrr eða síðar til sitt persónulega safn af fjölvi og sérsniðnum aðgerðum til að gera einstaka ferla og útreikninga sjálfvirkan. Og hér kemur vandamálið upp - kóða notendaskilgreindra aðgerða í Visual Basic þarf að geyma einhvers staðar til að hægt sé að nota hann síðar í vinnunni.
Til að nota sérsniðna aðgerðina þarf vinnubókin þar sem þú vistaðir hana að vera opin í Excel þínum. Ef það er ekki, færðu #NAFN! villa þegar reynt er að nota það. Þessi villa gefur til kynna að Excel þekki ekki nafn fallsins sem þú vilt nota í formúlunni.
Við skulum skoða leiðirnar ísem þú getur notað sérsniðnar aðgerðir sem þú býrð til.
Aðferð 1. Bættu heiti vinnubókarinnar við aðgerðina
Þú getur tilgreint heiti vinnubókarinnar sem hún er í á undan nafni vinnubókarinnar virka. Til dæmis, ef þú vistaðir sérsniðna aðgerð GetMaxBetween() í vinnubók sem heitir My_Functions.xlsm , þá verður þú að slá inn eftirfarandi formúlu:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
Aðferð 2. Geymdu öll UDF í einni sameiginlegri skrá
Vista allar sérsniðnar aðgerðir í einni sérstakri vinnubók (td My_Functions.xlsm ) og afritaðu viðeigandi aðgerð úr henni í núverandi vinnubók, ef nauðsyn krefur.
Í hvert skipti sem þú býrð til nýja sérsniðna aðgerð þarftu að afrita kóðann hennar í vinnubókinni sem þú munt nota hann í. Með þessari aðferð geta nokkur óþægindi komið upp:
- Ef það eru margar vinnuskrár, og aðgerðin er nauðsynleg alls staðar, þá þarf að afrita kóðann inn í hverja bók.
- Mundu að vista vinnubókina á macro-virku sniði (.xlsm eða .xlsb).
- Þegar slík skrá er opnuð mun vörn gegn fjölvi birta viðvörun í hvert sinn sem þarf að staðfesta. Margir notendur verða hræddir þegar þeir sjá gula stikuviðvörun sem biður þá um að virkja fjölvi. Til að forðast að sjá þessi skilaboð þarftu að slökkva alveg á Excel vörninni. Hins vegar er þetta kannski ekki alltaf rétt og öruggt.
Ég held að þú sért sammála mér um að alltaf opna askrá og afrita kóða notendaskilgreindra aðgerða úr henni eða skrifa nafn þessarar skráar í formúlu er ekki besta lausnin. þannig komumst við að þriðju leiðinni.
Aðferð 3. Búðu til Excel-viðbótarskrá
Ég held að besta leiðin sé að geyma oft notaðar sérsniðnar aðgerðir í Excel-viðbótaskrá . Kostir þess að nota viðbótina:
- Þú þarft bara einu sinni að tengja viðbótina við Excel. Eftir það geturðu notað verklag þess og aðgerðir í hvaða skrá sem er á þessari tölvu. Þú þarft ekki að vista vinnubækurnar þínar á .xlsm og .xlsb sniðum þar sem frumkóðinn verður ekki geymdur í þeim heldur í viðbótaskránni.
- Þú munt ekki trufla fjölvavörn lengur þar sem viðbætur vísa alltaf til traustra heimilda.
- Viðbót er sérstök skrá. Auðvelt er að flytja það úr tölvu yfir í tölvu, til að deila því með samstarfsfólki.
Við tölum meira um að búa til og nota viðbót síðar.
Notkun viðbót- ins til að geyma sérsniðnar aðgerðir
Hvernig bý ég til mína eigin viðbót? Við skulum fara í gegnum þetta ferli skref fyrir skref.
Skref 1. Búðu til viðbótarskrána
Opnaðu Microsoft Excel, búðu til nýja vinnubók og vistaðu hana undir hvaða nafni sem er (til dæmis, My_Functions) á viðbótarsniði. Til að gera þetta, notaðu valmyndina Skrá - Vista sem eða F12 takkann. Vertu viss um að tilgreina skráargerðina Excel viðbót :
Viðbótin þín mun hafa endinguna .xlam.
Ábending. Vinsamlegast athugaðu þaðSjálfgefið er að Excel geymir viðbætur í C:\Users\[Nafn_þitt]\AppData\Roaming\Microsoft\AddIns möppunni. Ég mæli með því að þú samþykkir sjálfgefna staðsetningu. Ef þú vilt geturðu tilgreint hvaða aðra möppu sem er. En þegar þú tengir viðbótina þarftu að finna og tilgreina nýja staðsetningu hennar handvirkt. Ef þú vistar það í sjálfgefna möppunni þarftu ekki að leita að viðbótinni á tölvunni þinni. Excel mun sjálfkrafa skrá það.
Skref 2. Tengdu viðbótarskrána
Nú þarf viðbótin sem við höfum búið til að vera tengd við Excel. Síðan verður það hlaðið sjálfkrafa þegar forritið byrjar. Til að gera þetta, notaðu valmyndina Skrá - Valkostir - Viðbætur . Gakktu úr skugga um að Excel-viðbætur sé valið í reitnum Stjórna . Smelltu á hnappinn Áfram neðst í glugganum. Í glugganum sem birtist skaltu merkja við viðbótina My_Functions. Ef þú sérð það ekki á listanum skaltu smella á hnappinn Skoða og fletta að staðsetningu viðbótarskrárinnar.
Ef þú eru að nota viðbót til að geyma sérsniðnar aðgerðir, það er ein einföld regla sem þarf að fylgja. Ef þú ert að flytja vinnubókina til annars fólks, vertu viss um að flytja líka afrit af viðbótinni sem inniheldur þá virkni sem þú vilt. Þeir ættu að tengja það á sama hátt og þú gerðir núna.
Skref 3. Bættu sérsniðnum aðgerðum og fjölvi við viðbótina
Viðbótin okkar er tengd við Excel, en hún gerir það ekki hafa enga virknistrax. Til að bæta nýjum UDF við það, opnaðu Visual Basic Editor með því að ýta á Alt + F11. Síðan geturðu bætt við nýjum einingum með VBA kóða eins og lýst er í Búðu til UDFs kennslunni minni.
Veldu viðbótarskrána þína ( My_Finctions.xlam ) í VBAProject glugganum. Notaðu Insert - Module valmyndina til að bæta við sérsniðinni einingu. Þú þarft að skrifa sérsniðnar aðgerðir inn í það.
Þú getur annað hvort slegið inn kóða notendaskilgreindrar aðgerðar handvirkt eða afritað hann einhvers staðar frá.
Það er allt. Nú hefur þú búið til þína eigin viðbót, bætt því við Excel og þú getur notað UDF í henni. Ef þú vilt nota fleiri UDF, skrifaðu bara kóðann í viðbótareininguna í VBA ritlinum og vistaðu hann.
Það er allt í dag. Við höfum lært hvernig á að nota notendaskilgreindar aðgerðir í vinnubókinni þinni. Við vonum virkilega að þér finnist þessar leiðbeiningar gagnlegar. Ef þú hefur einhverjar spurningar skaltu skrifa í athugasemdir við þessa grein.