Enhavtabelo
Hodiaŭ ni daŭrigos esplori kutimajn Excel-funkciojn. Ĉar vi jam scias kiel krei UDF-ojn (kaj, mi esperas, vi ankaŭ provis apliki ilin en via Excel), ni fosu iom pli profunde kaj lernu kiel uzi kaj konservi uzant-difinitajn funkciojn en Excel.
Cetere, ni montros al vi kiel facile konservi viajn funkciojn en Excel-aldondosiero por uzi ilin poste per kelkaj klakoj.
Do, jen pri kio ni parolos:
Malsamaj manieroj uzi UDF en Excel
Uzante UDF-ojn en laborfolioj
Post kiam vi kontrolis, ke viaj UDF-oj funkcias ĝuste, vi povas uzi ilin en Excel formuloj aŭ en VBA-kodo.
Vi povas apliki kutimajn funkciojn en Excel-laborlibro same kiel vi uzas regulajn funkciojn. Ekzemple, simple skribu en ĉelo la suban formulon:
= GetMaxBetween(A1:A6,10,50)
UDF povas esti uzata kombine kun regulaj funkcioj. Ekzemple, aldonu tekston al la kalkulita maksimuma valoro:
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
Vi povas vidi la rezulton en la ekrankopio sube:
Vi povas trovi la nombron, kiu estas kaj maksimuma kaj estas en la intervalo de 10 ĝis 50.
Ni kontrolu alian formulon:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
La kutima funkcio GetMaxBetween kontrolas la intervalon B2:B9 kaj trovas la maksimuman nombron inter 10 kaj 50. Tiam, uzante INDEX + MATCH, ni ricevas la produktonomon kiu kongruas kun ĉi tiu maksimuma valoro:
Kiel vi povas vidi, uzado de kutimaj funkcioj ne tro diferencas de regula Excelfunkcioj.
Farante ĉi tion, memoru, ke uzant-difinita funkcio povas nur redoni valoron, sed ne povas fari aliajn agojn. Legu pli pri la limigoj de uzant-difinitaj funkcioj.
Uzado de UDF en VBA-proceduroj kaj funkcioj
UDF-oj ankaŭ povas esti uzataj en VBA-makrooj. Malsupre vi povas vidi la makrokodon, kiu serĉas la maksimuman valoron en la intervalo de 10 ĝis 50 en la kolumno enhavanta la aktivan ĉelon.
Sub MacroWithUDF() Dim Rng As Range, maxcase, i As Long With ActiveSheet.Range( Ĉeloj (ActiveCell.CurrentRegion.Row, ActiveCell.Column), Ĉeloj (ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) maxcase = GetMaxBetween (.Cells, 10, 50) i = Apliko.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End SubLa makrokodo enhavas la kutiman funkcion
GetMaxBetween(.Cells, 10, 50)
Ĝi trovas la maksimuman valoron en la aktiva kolumno. Ĉi tiu valoro tiam estos emfazita. Vi povas vidi la rezulton de la makroo en la ekrankopio malsupre.
Persona funkcio ankaŭ povas esti uzata ene de alia propra funkcio. Pli frue en nia blogo, ni rigardis la problemon konverti nombron al teksto uzante la kutiman funkcion nomitan SpellNumber .
Kun ĝia helpo, ni povas akiri la maksimuman valoron de la intervalo kaj tuj skribu ĝin kiel tekston.
Por fari tion, ni kreos novan kutiman funkcion en kiu ni uzos la funkciojn. GetMaxBetween kaj SpellNumber kiuj jam estas konataj al ni.
Funkcio SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber (GetMaxBetween (rngCells, MinNum) End MaxNum) FunkcioKiel vi povas vidi, la funkcio GetMaxBetween estas argumento al alia kutima funkcio, SpellNumber . Ĝi difinas la maksimuman valoron, kiel ni faris multfoje antaŭe. Ĉi tiu nombro estas tiam konvertita al teksto.
En la supra ekrankopio, vi povas vidi kiel la funkcio SpellGetMaxBetween trovas la maksimuman nombron inter 100 kaj 500 kaj poste konvertas ĝin al teksto.
Voki UDF el aliaj laborlibroj
Se vi kreis UDF en via laborlibro, tio bedaŭrinde ne signifas, ke vi tute ne alfrontos problemojn.
Laŭ mia sperto, la plej multaj uzantoj pli aŭ malpli frue kreas sian personan kolekton de makrooj kaj kutimaj funkcioj por aŭtomatigi individuajn procezojn kaj kalkulojn. Kaj ĉi tie ekestas la problemo - la kodo de uzant-difinitaj funkcioj en Visual Basic devas esti konservita ie por esti uzata poste en laboro.
Por apliki la kutiman funkcion, la laborlibro, kie vi konservis ĝin, devas esti malfermita. en via Excel. Se ĝi ne estas, vi ricevos la #NOMON! eraro kiam vi provas uzi ĝin. Ĉi tiu eraro indikas, ke Excel ne konas la nomon de la funkcio, kiun vi volas uzi en la formulo.
Ni rigardu la manierojn enkiun vi povas uzi la kutimajn funkciojn, kiujn vi kreas.
Metodo 1. Aldonu la laborlibronomon al la funkcio
Vi povas specifi la nomon de la laborlibro en kiu ĝi troviĝas antaŭ la nomo de la funkcio. Ekzemple, se vi konservis kutiman funkcion GetMaxBetween() en laborlibro nomita My_Functions.xlsm , tiam vi devas enigi la jenan formulon:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
Metodo 2. Konservu ĉiujn UDF-ojn en unu komuna dosiero
Konservu ĉiujn kutimajn funkciojn en unu speciala laborlibro (ekzemple, My_Functions.xlsm ) kaj kopiu la deziratan funkcion de ĝi en la nuna laborlibro, se necese.
Ĉiufoje kiam vi kreas novan kutiman funkcion, vi devas duobligi ĝian kodon en la laborlibro en kiu vi uzos ĝin. Kun ĉi tiu metodo, povas aperi pluraj ĝenoj:
- Se estas multe da labordosieroj, kaj la funkcio estas bezonata ĉie, tiam la kodo devos esti kopiita en ĉiun libron.
- Memoru konservi la laborlibron en makro-ebligita formato (.xlsm aŭ .xlsb).
- Malfermante tian dosieron, protekto kontraŭ makrooj montros ĉiufoje averton, kiu devas esti konfirmita. Multaj uzantoj timiĝas kiam ili vidas flavan stangon averton, kiu petas ilin ebligi makroojn. Por eviti vidi ĉi tiun mesaĝon, vi devas tute malŝalti Excel-protekton. Tamen, ĉi tio eble ne ĉiam estas ĝusta kaj sekura.
Mi pensas, ke vi konsentos kun mi, ke la tutan tempon malfermantedosiero kaj kopii la kodon de uzant-difinitaj funkcioj el ĝi aŭ skribi la nomon de ĉi tiu dosiero en formulo ne estas la plej bona solvo. tiel, ni venis al la tria maniero.
Metodo 3. Krei Excel-aldonan dosieron
Mi pensas, ke la plej bona maniero estas stoki ofte uzatajn kutimajn funkciojn en Excel-aldona dosiero. . Avantaĝoj uzi la aldonaĵon:
- Vi devas konekti la aldonaĵon al Excel nur unufoje. Post tio, vi povas uzi ĝiajn procedurojn kaj funkciojn en ajna dosiero en ĉi tiu komputilo. Vi ne bezonas konservi viajn laborlibrojn en .xlsm kaj .xlsb-formatoj ĉar la fontkodo ne estos konservita en ili sed en la aldon-dosiero.
- Vi ne plu estos ĝenita de makro-protekto ĉar aldonaĵoj ĉiam rilatas al fidindaj fontoj.
- Aldonaĵo estas aparta dosiero. Estas facile translokigi ĝin de komputilo al komputilo, dividi ĝin kun kolegoj.
Ni parolos pli pri kreado kaj uzo de aldonaĵo poste.
Uzante aldonaĵon. ins por konservi kutimajn funkciojn
Kiel mi kreas mian propran aldonaĵon? Ni trairu ĉi tiun procezon paŝon post paŝo.
Paŝo 1. Kreu la aldonan dosieron
Malfermu Microsoft Excel, kreu novan laborlibron kaj konservu ĝin sub iu ajn taŭga nomo (ekzemple, Miaj_Funkcioj) en aldonformato. Por fari tion, uzu la menuon Dosiero - Konservi kiel aŭ la F12-klavon. Nepre specifu la dosiertipon Aldonaĵo de Excel :
Via aldono havos la etendon .xlam.
Konsileto. Bonvolu noti tiondefaŭlte Excel stokas aldonaĵojn en la dosierujo C:\Uzantoj\[Via_Nomo]\AppData\Roaming\Microsoft\AddIns . Mi rekomendas, ke vi akceptu la defaŭltan lokon. Se vi volas, vi povas specifi ajnan alian dosierujon. Sed tiam, kiam vi konektas la aldonaĵon, vi devos trovi kaj specifi ĝian novan lokon permane. Se vi konservas ĝin en la defaŭlta dosierujo, vi ne bezonas serĉi la aldonaĵon en via komputilo. Excel aŭtomate listigos ĝin.
Paŝo 2. Konekti la aldonan dosieron
Nun la aldonaĵo, kiun ni kreis, devas esti konektita al Excel. Tiam ĝi estos ŝarĝita aŭtomate kiam la programo komenciĝas. Por fari tion, uzu la menuon Dosiero - Opcioj - Aldonaĵoj . Certigu, ke Excel-Aldonaĵoj estas elektita en la kampo Administri . Alklaku la butonon Iru ĉe la malsupro de la fenestro. En la fenestro, kiu aperas, marku nian aldonaĵon Miaj_Funkcioj. Se vi ne vidas ĝin en la listo, alklaku la butonon Tralegi kaj foliumu al la loko de via aldondosiero.
Se vi uzas aldonaĵon por stoki kutimajn funkciojn, estas unu simpla regulo por sekvi. Se vi transdonas la laborlibron al aliaj homoj, nepre translokiĝu ankaŭ kopion de la aldonaĵo, kiu enhavas la funkciojn, kiujn vi volas. Ili devus konekti ĝin same kiel vi nun.
Paŝo 3. Aldonu kutimajn funkciojn kaj makroojn al la aldonaĵo
Nia aldonaĵo estas konektita al Excel, sed ĝi ne faras ne havas ajnan funkciontamen. Por aldoni novajn UDF-ojn al ĝi, malfermu la Visual Basic Editor premante Alt + F11 . Tiam vi povas aldoni novajn modulojn kun VBA-kodo kiel priskribite en mia lernilo Krei UDF-ojn.
Elektu vian aldonan dosieron ( My_Finctions.xlam ) en la fenestro de VBAProject. Uzu la menuon Enmeti - Modulo por aldoni kutiman modulon. Vi devas skribi kutimajn funkciojn en ĝin.
Vi povas aŭ tajpi la kodon de uzanto difinita funkcio permane aŭ kopii ĝin de ie.
Jen ĉio. Nun vi kreis vian propran aldonaĵon, aldonis ĝin al Excel kaj vi povas uzi la UDF en ĝi. Se vi volas uzi pli da UDF-oj, simple skribu la kodon en la aldonmodulo en la VBA-redaktilo kaj konservu ĝin.
Jen por hodiaŭ. Ni lernis kiel uzi uzant-difinitajn funkciojn en via laborlibro. Ni vere esperas, ke vi trovos ĉi tiujn gvidliniojn utilaj. Se vi havas demandojn, skribu en la komentoj al ĉi tiu artikolo.