Kaunggulan jeung kalemahan fungsi custom di Excel

  • Bagikeun Ieu
Michael Brown

Kami neraskeun séri tutorial ngeunaan fungsi anu ditetepkeun ku pangguna. Dina tulisan kami sateuacana, kami kenal sareng fungsi khusus sareng diajar kumaha cara nyiptakeun sareng ngagunakeunana. Dina manual ieu urang bakal ningali spésifik ngagunakeun pungsi ieu sareng ningali bédana antara UDF sareng makro VBA.

Dina tutorial ieu, urang bakal diajar ieu:

    Kami ngarepkeun artikel ieu bakal ningkatkeun pangaweruh anjeun ngeunaan UDF sareng ngabantosan anjeun ngagunakeunana langkung efektif dina buku kerja Excel anjeun.

    Naha UDF sareng Makro sami?

    Dua fungsi anu didefinisikeun ku pangguna sareng VBA. macros dijieun maké editor VBA. Naon bédana antara aranjeunna sareng naon anu kedah diutamakeun?

    Perbédaan anu paling penting nyaéta fungsina ngalakukeun itungan, sareng makro ngalaksanakeun sababaraha tindakan. Fungsi anu ditetepkeun ku pangguna, sapertos fungsi Excel biasa, kedah ditulis dina sél. Salaku hasil tina palaksanaan na, sél balik sababaraha nilai. Dina waktos anu sami, mustahil pikeun ngarobih nilai sél anu sanés, ogé sababaraha pasipatan sél ayeuna (khususna, pormat). Nanging, anjeun tiasa nganggo pungsi khusus dina rumus pormat kondisional.

    Makro UDF sareng VBA tiasa dianggo ku cara anu béda. Salaku conto, nalika anjeun nyiptakeun UDF dina Éditor Visual Basic, anjeun mimitian ku pernyataan Fungsi sareng ditungtungan ku Fungsi Akhir . Lamun anjeun ngarekam makro a, Anjeun mimitian ku apernyataan Sub sarta ditungtungan ku End Sub.

    Teu sakabéh operator Visual Basic bisa dipaké pikeun nyieun UDFs. Ku sabab kitu, makro mangrupikeun solusi anu langkung serbaguna.

    Makro henteu meryogikeun pangguna pikeun ngalangkungan argumen naon waé (teu tiasa nampi argumen naon waé), teu sapertos fungsi anu ditetepkeun ku pangguna.

    Intina nyaéta sababaraha paréntah makro tiasa nganggo alamat sél atanapi elemen pormat (contona, warna). Upami anjeun mindahkeun sél, nambihan atanapi ngahapus baris sareng kolom, robih format sél, teras anjeun tiasa gampang "megatkeun" makro anjeun. Ieu hususna mungkin upami anjeun ngabagi file sareng kolega anu henteu terang kumaha makro anjeun damel.

    Misalna, anjeun gaduh file sareng makro anu tiasa dianggo sampurna. Rumus ieu ngitung persentase sél A1 nepi ka A4. Makro ngarobah warna sél ieu jadi konéng. Pormat persentase disetel dina sél aktip.

    Lamun anjeun atawa batur mutuskeun pikeun nyelapkeun baris anyar, makro bakal neruskeun néangan nilai dina sél A4 ( parameter 4,1 dina UDF anjeun), gagal jeung mulangkeun kasalahan:

    Dina hal ieu, kasalahan lumangsung alatan ngabagi ku nol (euweuh nilai dina nu anyar ditambahkeun). baris). Upami makro ngalaksanakeun, sebutkeun, kasimpulan, maka anjeun ngan saukur bakal nampi hasil anu salah. Tapi anjeun moal terang ngeunaan éta.

    Sabalikna sareng makro, fungsi anu ditetepkeun ku pangguna henteu tiasa nyababkeun kaayaan anu teu pikaresepeun.

    Di handap anjeun ningali kinerjaitungan sarua maké UDF. Di dieu anjeun tiasa netepkeun sél input dimana waé dina lembar kerja sareng anjeun moal nyanghareupan masalah anu teu kaduga nalika ngarobih.

    Kuring nyerat rumus ieu dina C3:

    =UDF_vs_Macro(A1,A4)

    Terus kuring nyelapkeun baris kosong, sarta rumusna robah sakumaha nu katingali dina screenshot di luhur.

    Ayeuna urang bisa mindahkeun hiji sél input atawa sél nu boga fungsi dimana wae. Hasilna bakal salawasna bener.

    Kauntungan tambahan tina ngagunakeun UDF nyaéta aranjeunna otomatis ngamutahirkeun nalika nilai dina sél input robih. Nalika nganggo makro, anjeun kedah salawasna mastikeun yén sadaya data parantos diropéa.

    Ngingetkeun conto ieu, kuring langkung resep ngagunakeun UDF dimana waé sareng nganggo makro ngan ukur pikeun kagiatan non-itungan sanés.

    Watesan sareng kalemahan ngagunakeun UDF

    Kuring parantos nyarios kaunggulan UDF di luhur. Singkat carita, éta tiasa ngalakukeun itungan anu teu mungkin ku fungsi Excel standar. Salaku tambahan, éta tiasa nyimpen sareng nganggo rumus anu panjang sareng rumit, janten janten fungsi tunggal. Sareng anjeun henteu kedah nyerat rumus anu rumit deui-deui.

    Ayeuna hayu urang bahas langkung rinci ngeunaan kalemahan UDF:

    • Nyiptakeun UDF peryogi panggunaan VBA. Teu aya deui jalan. Ieu ngandung harti yén pamaké teu bisa ngarekam UDF dina cara nu sarua salaku hiji makro Excel. Anjeun kudu nyieun UDF sorangan. Nanging, anjeun tiasa nyalin sarengnempelkeun porsi kode makro anu dirékam saméméhna kana fungsi anjeun. Anjeun ngan ukur kedah sadar kana watesan fungsi khusus.
    • Kakurangan UDF anu sanés nyaéta sapertos fungsi Excel anu sanés, éta ngan ukur tiasa ngabalikeun nilai tunggal atanapi sakumpulan nilai kana sél. Éta ngan saukur ngalakukeun itungan, teu langkung.
    • Upami anjeun hoyong ngabagi buku kerja anjeun sareng kolega anjeun, pastikeun pikeun nyimpen UDF anjeun dina file anu sami. Upami teu kitu, pungsi khusus anjeun moal tiasa dianggo pikeun aranjeunna.
    • Pungsi khusus anu diciptakeun ku pangropéa VBA langkung laun tibatan pungsi biasa. Ieu utamana noticeable dina tabel badag. Hanjakalna, VBA mangrupikeun basa pamrograman anu lambat pisan dugi ka ayeuna. Ku kituna, upami anjeun gaduh seueur data, cobian nganggo pungsi standar sabisana, atanapi jieun UDF nganggo pungsi LAMBDA.

    Batesan Fungsi Kustom:

    • UDF nyaéta dirancang pikeun ngalakukeun itungan jeung balik nilai a. Éta henteu tiasa dianggo gaganti makro.
    • Éta henteu tiasa ngarobih eusi sél anu sanés (ngan ukur sél anu aktip).
    • Ngaran fungsi kedah nuturkeun aturan anu tangtu. Contona, anjeun teu bisa maké ngaran nu cocog jeung ngaran fungsi Excel asli atawa alamat sél, kayaning AB123.
    • Pungsi custom anjeun teu bisa ngandung spasi dina ngaran, tapi bisa ngawengku karakter underscore. Tapi, cara anu dipikaresep nyaéta ngagunakeun hurup kapital di awal unggal anyarkecap (contona, GetMaxBetween).
    • UDF teu bisa nyalin jeung nempelkeun sél ka wewengkon séjén lembar kerja.
    • Éta teu bisa ngarobah lembar kerja aktip.
    • UDFs bisa' t ngarobah pormat dina sél aktip. Upami anjeun hoyong ngarobih pormat sél nalika ningalikeun nilai anu béda, anjeun kedah nganggo pormat kondisional.
    • Éta henteu tiasa muka buku tambahan.
    • Éta henteu tiasa dianggo pikeun ngajalankeun makro nganggo Application.OnTime .
    • Pungsi nu ditetepkeun ku pamaké teu bisa dijieun maké pangrékam makro.
    • Fungsi teu muncul dina Pamekar > Dialog makro .
    • Pungsi anjeun bakal muncul dina kotak dialog ( Selapkeun > Fungsi ) jeung dina daptar fungsi ngan lamun dinyatakeun salaku Publik (ieu standar, iwal disebutkeun béda).
    • Sagala fungsi anu dinyatakeun salaku Pribadi moal muncul dina daptar fitur.

    Operasi anu rada lambat , kitu ogé sababaraha larangan dina pamakéan, bisa jadi ngajadikeun anjeun mikir: "Naon pamakéan fungsi custom ieu?"

    Éta bisa datang dina gunana, sarta ngalakukeun lamun urang mindful tina konstrain ditumpukeun dina eta. Upami anjeun diajar kumaha leres nyiptakeun sareng ngagunakeun UDF, anjeun tiasa nyerat perpustakaan fungsi anjeun. Ieu bakal ngalegaan pisan kamampuan anjeun pikeun ngerjakeun data dina Excel.

    Abdi mah, pungsi khusus mangrupikeun panghemat waktos. Sareng kumaha upami anjeun? Naha anjeun parantos nyobian nyiptakeun UDF anjeun nyalira? Ari anjeun resep kana étahadé ti fungsi Excel dasar? Hayu urang bahas dina Koméntar :)

    Michael Brown mangrupakeun enthusiast téhnologi dedicated kalawan gairah pikeun nyederhanakeun prosés kompléks ngagunakeun parabot software. Kalayan langkung ti dasawarsa pangalaman dina industri téknologi, anjeunna parantos ngasah kaahlianna dina Microsoft Excel sareng Outlook, ogé Google Sheets sareng Docs. Blog Michael dikhususkeun pikeun ngabagi pangaweruh sareng kaahlianna ka batur, nyayogikeun tip sareng tutorial anu gampang pikeun ningkatkeun produktivitas sareng efisiensi. Naha anjeun profésional berpengalaman atanapi pamula, blog Michael nawiskeun wawasan anu berharga sareng naséhat praktis pikeun ngamangpaatkeun alat parangkat lunak penting ieu.