Daptar eusi
Dinten ieu kami bakal neruskeun ngajalajah fungsi Excel khusus. Sakumaha anjeun parantos terang kumaha cara ngadamel UDF (sareng, kuring ngarepkeun, anjeun ogé parantos nyobian nerapkeunana dina Excel anjeun), hayu urang ngagali langkung jero sareng diajar kumaha ngagunakeun sareng nyimpen fungsi anu ditetepkeun ku pangguna dina Excel.
Leuwih ti éta, kami gé nunjukkeun ka anjeun kumaha gampangna nyimpen pungsi anjeun dina file tambihan Excel pikeun dianggo engké dina sababaraha klik.
Jadi, ieu nu bakal urang bahas:
Cara béda ngagunakeun UDF dina Excel
Ngagunakeun UDF dina lembar kerja
Sawaktos anjeun parantos marios yén UDF anjeun tiasa dianggo leres, anjeun tiasa nganggo éta dina Excel rumus atanapi dina kode VBA.
Anjeun tiasa nerapkeun pungsi khusus dina buku kerja Excel dina cara anu sami sareng anjeun nganggo pungsi biasa. Contona, tulis dina sél rumus di handap:
= GetMaxBetween(A1:A6,10,50)
UDF bisa dipaké dina kombinasi jeung fungsi biasa. Contona, tambahkeun téks kana nilai maksimum nu diitung:
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
Anjeun bisa nempo hasilna dina screenshot di handap:
Anjeun bisa manggihan jumlah nu duanana maksimum sarta dina rentang ti 10 nepi ka 50.
Hayu urang pariksa rumus sejen:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
Pungsi custom GetMaxBetween mariksa rentang B2:B9 sarta manggihan jumlah maksimum antara 10 jeung 50. Lajeng, ngagunakeun INDEX + MATCH, urang meunang ngaran produk nu cocog nilai maksimum ieu:
Sakumaha anjeun tiasa tingali, pamakean fungsi khusus henteu béda teuing sareng Excel biasafungsi.
Nalika ngalakukeun ieu, émut yén fungsi anu ditetepkeun ku pangguna ngan ukur tiasa ngabalikeun nilai, tapi henteu tiasa ngalakukeun tindakan anu sanés. Baca salengkepna ngeunaan watesan pungsi nu ditetepkeun ku pamaké.
Maké UDF dina prosedur jeung pungsi VBA
UDF ogé bisa dipaké dina makro VBA. Handap anjeun tiasa ningali kode makro nu néangan nilai maksimum dina rentang ti 10 nepi ka 50 dina kolom ngandung sél aktip.
Sub MacroWithUDF() taram Rng Salaku Range, maxcase, i Sapanjang Jeung ActiveSheet.Range ( Sél (ActiveCell.CurrentRegion.Row, ActiveCell.Column), Sél (ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) maxcase = GetMaxBetween(.Cells) Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End SubKode makro ngandung fungsi custom
GetMaxBetween(.Cells, 10, 50)
It manggihan nilai maksimum dina kolom aktip. nilai ieu bakal disorot lajeng. Anjeun tiasa ningali hasil makro dina screenshot di handap.
Pungsi custom ogé bisa dipaké di jero pungsi custom séjén. Tadi dina blog urang, urang nempo masalah ngarobah hiji angka kana téks ngagunakeun fungsi custom ngaranna SpellNumber .
Kalayan bantuan na, urang bisa meunangkeun nilai maksimum ti rentang tur langsung tuliskeun salaku téks.
Pikeun ngalakukeun ieu, urang bakal nyieun pungsi custom anyar nu urang bakal ngagunakeun fungsi. GetMaxBetween jeung SpellNumber nu geus biasa ku urang.
Fungsi SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxBetween, MinNum) End FungsiSakumaha anjeun tiasa tingali, fungsi GetMaxBetween mangrupikeun argumen pikeun fungsi khusus anu sanés, SpellNumber . Ieu ngahartikeun nilai maksimum, sakumaha urang geus dipigawé sababaraha kali saméméh. Nomer ieu teras dirobih janten téks.
Dina screenshot di luhur, anjeun tiasa ningali kumaha fungsi SpellGetMaxBetween mendakan jumlah maksimal antara 100 sareng 500 sareng teras ngarobah kana téks.
Nelepon UDF tina buku kerja anu sanés
Upami anjeun parantos nyiptakeun UDF dina buku kerja anjeun, hanjakalna, ieu sanés hartosna anjeun moal nyanghareupan masalah naon waé.
Dina pangalaman kuring, sabagéan ageung pangguna gancang-gancang nyiptakeun koléksi makro sareng pungsi khusus pikeun ngajadikeun otomatis prosés sareng itungan individu. Sareng di dieu masalahna timbul - kodeu fungsi anu ditetepkeun ku pangguna dina Visual Basic kedah disimpen dimana waé supados tiasa dianggo engké dina padamelan.
Pikeun nerapkeun pungsi khusus, buku kerja dimana anjeun disimpen kedah dibuka. dina Excel Anjeun. Upami henteu, anjeun bakal nampi #NAMA! kasalahan nalika nyobian nganggo éta. Kasalahan ieu nunjukkeun yén Excel henteu terang nami fungsi anu anjeun hoyong dianggo dina rumus.
Hayu urang tingali cara-carana.nu Anjeun tiasa make pungsi custom nu Anjeun jieun.
Metoda 1. Tambahkeun ngaran workbook kana pungsi
Anjeun bisa nangtukeun ngaran workbook nu lokasina saméméh ngaran workbook. fungsi. Contona, upami anjeun nyimpen hiji pungsi custom GetMaxBetween() dina workbook ngaranna My_Functions.xlsm , mangka anjeun kudu ngasupkeun rumus ieu:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
Metoda 2. Simpen sadaya UDF dina hiji file anu umum
Simpen sadaya pungsi khusus dina hiji buku kerja khusus (contona, My_Functions.xlsm ) teras salin pungsi anu dipikahoyong tina éta kana. buku kerja ayeuna, lamun perlu.
Unggal anjeun nyieun pungsi custom anyar, anjeun kudu duplikat kode na dina workbook nu anjeun bakal make eta. Kalayan metode ieu, sababaraha kasulitan tiasa timbul:
- Upami seueur file anu tiasa dianggo, sareng fungsina diperyogikeun dimana-mana, kodeu kedah disalin kana unggal buku.
- Inget nyimpen buku kerja dina format nu diaktipkeun makro (.xlsm atanapi .xlsb).
- Nalika muka file sapertos kitu, panyalindungan ngalawan makro bakal nembongkeun peringatan unggal waktos, anu kedah dikonfirmasi. Seueur pangguna sieun nalika ningali peringatan bar konéng anu naroskeun aranjeunna pikeun ngaktipkeun makro. Pikeun ngahindarkeun ningali pesen ieu, anjeun kedah nganonaktipkeun panyalindungan Excel sacara lengkep. Sanajan kitu, ieu bisa jadi teu salawasna bener tur aman.
Jigana anjeun bakal satuju sareng kuring yén sadaya waktu muka afile sareng nyalin kodeu fungsi anu didefinisikeun ku pangguna atanapi nyerat nami file ieu dina rumus sanés solusi anu pangsaéna. Ku kituna, urang datang ka cara katilu.
Metoda 3. Jieun hiji Excel add-in file
Jigana cara pangalusna nyaéta pikeun nyimpen fungsi custom remen dipake dina Excel add-in file. . Kaunggulan tina ngagunakeun add-in:
- Anjeun kudu nyambungkeun add-in ka Excel ngan sakali. Saatos éta, anjeun tiasa nganggo prosedur sareng fungsina dina file mana waé dina komputer ieu. Anjeun teu kedah nyimpen buku kerja anjeun dina format .xlsm sareng .xlsb sabab kodeu sumberna moal disimpen di dinya tapi dina file tambihan.
- Anjeun moal kaganggu ku panyalindungan makro deui salaku add-in sok ngarujuk ka sumber anu dipercaya.
- Add-in mangrupikeun file anu misah. Gampang nransferkeunana ti komputer ka komputer, pikeun ngabagikeunana ka kolega.
Urang bakal ngobrol deui ngeunaan nyieun jeung ngagunakeun add-in engké.
Maké add- ins pikeun nyimpen fungsi custom
Kumaha cara nyieun add-in sorangan? Hayu urang ngaliwat prosés ieu léngkah-léngkah.
Lengkah 1. Jieun file tambihan
Buka Microsoft Excel, jieun buku kerja anyar, teras simpen dina ngaran anu cocog (contona, My_Functions) dina format tambihan. Jang ngalampahkeun ieu, paké menu File - Save As atawa konci F12. Pastikeun pikeun nangtukeun jenis file Excel Add-in :
Add-in anjeun bakal boga ekstensi .xlam.
Tip. Punten dicatet yénsacara standar Excel nyimpen add-in dina C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns folder. Abdi nyarankeun yén anjeun nampi lokasi standar. Upami anjeun hoyong, anjeun tiasa netepkeun folder anu sanés. Tapi teras, nalika nyambungkeun tambihan, anjeun kedah milarian sareng netepkeun lokasi énggalna sacara manual. Upami anjeun simpen dina polder standar, anjeun henteu kedah milarian tambihan dina komputer anjeun. Excel bakal otomatis daptar eta.
Lengkah 2. Sambungkeun file add-in
Ayeuna add-in nu geus dijieun kudu disambungkeun ka Excel. Teras éta bakal dimuat sacara otomatis nalika program dimimitian. Jang ngalampahkeun ieu, paké menu File - Options - Add-Ins . Pastikeun Excel Add-Ins dipilih dina Atur médan. Pencét tombol Go di handapeun jandela. Dina jandela nu nembongan, cirian add-in kami My_Functions. Upami anjeun henteu ningali dina daptar, klik tombol Browse sareng kotektak ka lokasi file tambihan anjeun.
Upami anjeun ngagunakeun tambihan pikeun nyimpen fungsi khusus, aya hiji aturan saderhana pikeun nuturkeun. Upami anjeun nransferkeun buku kerja ka jalma sanés, pastikeun ogé nransfer salinan tambihan anu ngandung pungsionalitas anu anjeun pikahoyong. Éta kedah nyambungkeunana ku cara anu sami sareng anjeun ayeuna.
Lengkah 3. Tambahkeun pungsi khusus sareng makro kana tambihan
Tambihkeun kami disambungkeun ka Excel, tapi henteu. teu boga fungsi nanaonacan. Pikeun nambahkeun UDF anyar, buka Visual Basic Editor ku mencét Alt + F11. Teras anjeun tiasa nambihan modul énggal nganggo kode VBA sapertos anu dijelaskeun dina tutorial kuring Jieun UDFs.
Pilih file tambihan anjeun ( My_Finctions.xlam ) dina jandela VBAProject. Paké menu Selapkeun - Module pikeun nambahkeun modul custom. Anjeun kedah nyerat pungsi khusus kana éta.
Anjeun tiasa ngetik kodeu fungsi anu ditetepkeun ku pangguna sacara manual atanapi nyalin ti mana waé.
Éta waé. Ayeuna anjeun parantos nyiptakeun tambihan anjeun nyalira, tambahkeun ka Excel sareng anjeun tiasa nganggo UDF di jerona. Upami anjeun hoyong langkung seueur UDF, tuliskeun kodeu dina modul tambihan dina éditor VBA teras simpen.
Kitu waé pikeun dinten ayeuna. Kami parantos diajar kumaha ngagunakeun fungsi anu ditetepkeun ku pangguna dina buku kerja anjeun. Kami ngarepkeun anjeun mendakan tungtunan ieu mangpaat. Upami anjeun aya patarosan, tulis dina koméntar kana tulisan ieu.