Sisukord
Täna jätkame Exceli kohandatud funktsioonide uurimist. Kuna te juba teate, kuidas luua UDF-e (ja loodetavasti olete neid ka Excelis proovinud rakendada), siis kaevume veidi sügavamale ja õpime, kuidas kasutada ja salvestada kasutaja määratud funktsioone Excelis.
Lisaks näitame teile, kuidas saate oma funktsioone hõlpsasti salvestada Exceli lisafaili, et neid hiljem paari hiireklõpsuga kasutada.
Niisiis, siin on see, millest me räägime:
Erinevad viisid UDFi kasutamiseks Excelis
UDF-i kasutamine töölehtedel
Kui olete veendunud, et teie UDFid töötavad õigesti, saate neid kasutada Exceli valemites või VBA-koodis.
Kohandatud funktsioone saate Exceli töövihikus kasutada samamoodi nagu tavalisi funktsioone. Näiteks kirjutage lihtsalt lahtrisse alljärgnev valem:
= GetMaxBetween(A1:A6,10,50)
UDFi saab kasutada koos tavaliste funktsioonidega. Näiteks lisada arvutatavale maksimaalsele väärtusele teksti:
= CONCATENATE("Maksimaalne väärtus vahemikus 10 ja 50 on ", GetMaxBetween(A1: A6,10,50))
Tulemust näete alloleval ekraanipildil:
Saate leida arvu, mis on nii maksimaalne kui ka vahemikus 10 kuni 50.
Kontrollime veel ühte valemit:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
Kohandatud funktsioon GetMaxBetween kontrollib vahemikku B2:B9 ja leiab maksimaalse arvu vahemikus 10 kuni 50. Seejärel saame INDEX + MATCH abil toote nime, mis vastab sellele maksimaalsele väärtusele:
Nagu näete, ei erine kohandatud funktsioonide kasutamine väga palju tavalistest Exceli funktsioonidest.
Seda tehes pidage meeles, et kasutaja määratletud funktsioon saab ainult tagastada väärtuse, kuid ei saa teha muid toiminguid. Lugege rohkem kasutaja määratletud funktsioonide piirangutest.
UDF-i kasutamine VBA protseduurides ja funktsioonides
UDF-i saab kasutada ka VBA-makros. Allpool näete makrokoodi, mis otsib aktiivset lahtrit sisaldavas veerus maksimaalset väärtust vahemikus 10 kuni 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 SubMakrokood sisaldab kohandatud funktsiooni
GetMaxBetween(.Cells, 10, 50)
See leiab aktiivse veeru maksimaalse väärtuse. See väärtus tõstetakse seejärel esile. Makro tulemust näete alloleval ekraanipildil.
Kohandatud funktsiooni saab kasutada ka teise kohandatud funktsiooni sees. Varem meie blogis vaatlesime probleemi, mis puudutab numbri teisendamist tekstiks, kasutades kohandatud funktsiooni nimega SpellNumber .
Selle abil saame vahemikust maksimaalse väärtuse kätte ja selle kohe tekstina kirja panna.
Selleks loome uue kohandatud funktsiooni, milles kasutame funktsioone GetMaxBetween ja SpellNumber mis on meile juba tuttavad.
Function SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxBetween (rngCells, MinNum, MaxNum)) End FunctionNagu näete, on GetMaxBetween funktsioon on teise kohandatud funktsiooni argument, SpellNumber . See määrab maksimaalse väärtuse, nagu me oleme seda juba mitu korda varem teinud. See number teisendatakse seejärel tekstiks.
Ülaltoodud ekraanipildil on näha, kuidas SpellGetMaxBetween funktsioon leiab maksimaalse arvu 100 ja 500 vahel ja teisendab selle seejärel tekstiks.
UDF-i kutsumine teistest töövihikutest
Kui te olete oma töövihikusse UDF-i loonud, ei tähenda see kahjuks, et teil ei teki üldse mingeid probleeme.
Minu kogemuse kohaselt loob enamik kasutajaid varem või hiljem oma isikliku makrode ja kohandatud funktsioonide kollektsiooni, et automatiseerida üksikuid protsesse ja arvutusi. Ja siin tekib probleem - kasutaja määratletud funktsioonide kood Visual Basicis tuleb kuskil salvestada, et seda hiljem töös kasutada.
Kohandatud funktsiooni kohaldamiseks peab Exceli töövihik, kuhu salvestasite selle, olema avatud. Kui see ei ole avatud, siis saate selle kasutamisel vea #NAME! See viga näitab, et Excel ei tea selle funktsiooni nime, mida soovite valemis kasutada.
Vaatame, kuidas saate loodud kohandatud funktsioone kasutada.
Meetod 1. Lisage töövihiku nimi funktsioonile
Enne funktsiooni nime saate määrata selle töövihiku nime, milles see asub. Näiteks kui salvestasite kohandatud funktsiooni GetMaxBetween() töövihikus nimega Minu_Funktsioonid.xlsm , siis tuleb sisestada järgmine valem:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
Meetod 2. Säilitage kõik UDFid ühes ühises failis.
Salvestage kõik kohandatud funktsioonid ühte spetsiaalsesse töövihikusse (nt, Minu_Funktsioonid.xlsm ) ja kopeerige vajadusel soovitud funktsioon sellest praegusesse töövihikusse.
Iga kord, kui loote uue kohandatud funktsiooni, peate selle koodi dubleerima töövihikus, kus te seda kasutate. Selle meetodi puhul võib tekkida mitmeid ebamugavusi:
- Kui tööfaile on palju ja funktsiooni on vaja kõikjal, siis tuleb kood kopeerida igasse raamatusse.
- Ärge unustage salvestada töövihik makrotoiminguid võimaldavas vormingus (.xlsm või .xlsb).
- Sellise faili avamisel kuvab kaitse makrode vastu iga kord hoiatuse, mida tuleb kinnitada. Paljud kasutajad ehmatavad, kui näevad kollase riba hoiatust, mis palub neil makrosid lubada. Et seda teadet mitte näha, tuleb Exceli kaitse täielikult välja lülitada. See ei pruugi aga alati olla õige ja turvaline.
Ma arvan, et te nõustute minuga, et kogu aeg faili avamine ja sellest kasutajamääratletud funktsioonide koodi kopeerimine või selle faili nime kirjutamine valemisse ei ole parim lahendus. seega jõudsime kolmanda võimaluseni.
Meetod 3. Exceli lisafaili loomine
Ma arvan, et parim viis on salvestada sageli kasutatavad kohandatud funktsioonid Exceli lisafaili. Lisafaili kasutamise eelised:
- Sa pead lisaarvuti ühendama Exceliga ainult üks kord. Pärast seda saad kasutada selle protseduure ja funktsioone mis tahes failis selles arvutis. Sa ei pea salvestama oma töövihikuid .xlsm ja .xlsb formaadis, kuna lähtekoodi ei salvestata neisse, vaid lisaarvuti faili.
- Teid ei häiri enam makrode kaitse, kuna lisad viitavad alati usaldusväärsetele allikatele.
- Lisa on eraldi fail. Seda on lihtne arvutist arvutisse üle kanda, et seda kolleegidega jagada.
Lisavõimaluse loomisest ja kasutamisest räägime hiljem lähemalt.
Lisandite kasutamine kohandatud funktsioonide salvestamiseks
Kuidas luua oma add-in? Käime selle protsessi samm-sammult läbi.
Samm 1. Loo lisafail
Avage Microsoft Excel, looge uus töövihik ja salvestage see suvalise sobiva nime all (näiteks My_Functions) lisaformaadis. Selleks kasutage menüüst Fail - Salvesta kui või klahviga F12. Kindlasti tuleb määrata failitüüp Exceli lisavõimalus :
Teie add-inil on laiend .xlam.
Vihje. Pange tähele, et vaikimisi salvestab Excel lisandmoodulid kataloogi C:\Users\[Sinu nimi]\AppData\Roaming\Microsoft\AddIns kausta. Soovitan vaikimisi asukohta aktsepteerida. Kui soovite, võite määrata ka mõne muu kausta. Kuid siis peate lisaseadme ühendamisel selle uue asukoha käsitsi üles leidma ja määrama. Kui salvestate selle vaikimisi kausta, ei pea lisaseadet arvutist otsima. Excel loetleb selle automaatselt.
Samm 2. Ühendage lisafail
Nüüd tuleb meie loodud add-in ühendada Exceliga. Siis laaditakse see automaatselt programmi käivitamisel. Selleks kasutage menüüst Faili - Valikud - Lisavõimalused Veenduge, et Exceli lisavõimalused on valitud Halda Välja. Klõpsake Mine nuppu akna allosas. Ilmuvas aknas märkige meie lisa My_Functions. Kui te ei näe seda nimekirjas, klõpsake nuppu Sirvi nuppu ja otsige oma lisafaili asukoht.
Kui kasutate kohandatud funktsioonide salvestamiseks lisaainet, siis tuleb järgida ühte lihtsat reeglit. Kui te annate töövihiku üle teisele inimesele, siis andke kindlasti üle ka soovitud funktsioone sisaldava lisaine koopia. Nad peaksid selle ühendama samamoodi, nagu te seda praegu tegite.
Samm 3. Lisa add-in'ile kohandatud funktsioonid ja makrosid
Meie add-in on ühendatud Exceliga, kuid tal ei ole veel mingit funktsionaalsust. Uute UDFide lisamiseks avage Visual Basic Editor, vajutades Alt + F11 . Seejärel saate lisada uusi mooduleid VBA-koodiga, nagu on kirjeldatud minu UDFide loomise õpetuses.
Valige oma lisafail ( My_Finctions.xlam ) VBAProjecti aknas. Kasutage funktsiooni Insert - moodul menüüst, et lisada kohandatud moodul. Sinna tuleb kirjutada kohandatud funktsioonid.
Saate kas käsitsi sisestada kasutaja määratud funktsiooni koodi või kopeerida selle kuskilt.
See on kõik. Nüüd olete loonud oma lisavõimaluse, lisanud selle Excelisse ja saate selles kasutada UDF-i. Kui soovite kasutada rohkem UDF-i, kirjutage lihtsalt kood lisavõimaluse moodulis VBA redaktoris ja salvestage see.
See oligi tänaseks päevaks kõik. Oleme õppinud, kuidas kasutada kasutaja määratud funktsioone oma töövihikus. Loodame väga, et need juhised on teile kasulikud. Kui teil on küsimusi, kirjutage selle artikli kommentaaridesse.