Daftar Isi
Hari ini kita akan terus menjelajahi fungsi Excel kustom. Karena Anda sudah tahu cara membuat UDF (dan, saya harap, Anda juga sudah mencoba menerapkannya di Excel Anda), mari kita gali lebih dalam dan pelajari cara menggunakan dan menyimpan fungsi yang ditentukan pengguna di Excel.
Selain itu, kami akan menunjukkan kepada Anda cara menyimpan fungsi Anda dengan mudah dalam file add-in Excel untuk menggunakannya nanti dalam beberapa klik.
Jadi, inilah yang akan kita bicarakan:
Berbagai cara menggunakan UDF di Excel
Menggunakan UDF dalam lembar kerja
Setelah Anda memverifikasi bahwa UDF Anda berfungsi dengan benar, Anda dapat menggunakannya dalam rumus Excel atau dalam kode VBA.
Anda dapat menerapkan fungsi kustom di buku kerja Excel dengan cara yang sama seperti Anda menggunakan fungsi biasa. Misalnya, cukup tuliskan dalam sel rumus di bawah ini:
= GetMaxBetween(A1:A6,10,50)
UDF dapat digunakan dalam kombinasi dengan fungsi reguler. Misalnya, menambahkan teks ke nilai maksimum yang dihitung:
= CONCATENATE("Nilai maksimum antara 10 dan 50 adalah ", GetMaxBetween(A1: A6,10,50))
Anda bisa melihat hasilnya dalam tangkapan layar di bawah ini:
Anda bisa menemukan angka yang maksimum dan berada dalam kisaran dari 10 hingga 50.
Mari kita periksa rumus lain:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
Fungsi khusus GetMaxBetween memeriksa kisaran B2:B9 dan menemukan angka maksimum antara 10 dan 50. Lalu, dengan menggunakan INDEX + MATCH, kita mendapatkan nama produk yang cocok dengan nilai maksimum ini:
Seperti yang Anda lihat, penggunaan fungsi kustom tidak terlalu berbeda dari fungsi Excel biasa.
Ketika melakukan ini, ingatlah bahwa fungsi yang ditentukan pengguna hanya dapat mengembalikan nilai, tetapi tidak dapat melakukan tindakan lain. Baca lebih lanjut tentang batasan fungsi yang ditentukan pengguna.
Menggunakan UDF dalam prosedur dan fungsi VBA
UDF juga dapat digunakan dalam makro VBA. Di bawah ini Anda dapat melihat kode makro yang mencari nilai maksimum dalam rentang dari 10 hingga 50 di kolom yang berisi sel aktif.
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 SubKode makro berisi fungsi kustom
GetMaxBetween(.Cells, 10, 50)
Ini menemukan nilai maksimum di kolom aktif. Nilai ini akan disorot kemudian. Anda dapat melihat hasil makro pada gambar di bawah ini.
Fungsi kustom juga dapat digunakan di dalam fungsi kustom lainnya. Sebelumnya di blog kami, kami melihat masalah konversi angka menjadi teks menggunakan fungsi kustom bernama SpellNumber .
Dengan bantuannya, kita bisa mendapatkan nilai maksimum dari kisaran dan segera menuliskannya sebagai teks.
Untuk melakukan ini, kita akan membuat fungsi kustom baru di mana kita akan menggunakan fungsi GetMaxBetween dan SpellNumber yang sudah tidak asing lagi bagi kita.
Fungsi SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxBetween (rngCells, MinNum, MaxNum)) End FunctionSeperti yang bisa Anda lihat, yang GetMaxBetween adalah argumen untuk fungsi kustom lain, SpellNumber Ini mendefinisikan nilai maksimum, seperti yang telah kita lakukan berkali-kali sebelumnya. Angka ini kemudian dikonversi ke teks.
Pada tangkapan layar di atas, Anda bisa melihat bagaimana SpellGetMaxBetween menemukan angka maksimum antara 100 dan 500 dan kemudian mengubahnya menjadi teks.
Memanggil UDF dari buku kerja lain
Jika Anda telah membuat UDF dalam buku kerja Anda, sayangnya, ini tidak berarti bahwa Anda tidak akan menghadapi masalah sama sekali.
Dalam pengalaman saya, kebanyakan pengguna cepat atau lambat membuat koleksi pribadi makro dan fungsi khusus mereka untuk mengotomatiskan proses dan perhitungan individu. Dan di sini masalah muncul - kode fungsi yang ditentukan pengguna dalam Visual Basic perlu disimpan di suatu tempat agar dapat digunakan nanti dalam pekerjaan.
Untuk menerapkan fungsi kustom, buku kerja tempat Anda menyimpannya harus terbuka di Excel Anda. Jika tidak, Anda akan mendapatkan #NAME! kesalahan saat mencoba menggunakannya. Kesalahan ini menunjukkan bahwa Excel tidak mengetahui nama fungsi yang ingin Anda gunakan dalam rumus.
Mari kita lihat cara-cara Anda dapat menggunakan fungsi kustom yang Anda buat.
Metode 1. Tambahkan nama buku kerja ke fungsi
Anda dapat menentukan nama buku kerja di mana ia berada sebelum nama fungsi. Misalnya, jika Anda menyimpan fungsi kustom GetMaxBetween() dalam buku kerja bernama My_Functions.xlsm , maka Anda harus memasukkan rumus berikut ini:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
Metode 2. Simpan semua UDF dalam satu file umum
Simpan semua fungsi kustom dalam satu buku kerja khusus (misalnya, My_Functions.xlsm ) dan salin fungsi yang diinginkan darinya ke dalam buku kerja saat ini, jika perlu.
Setiap kali Anda membuat fungsi kustom baru, Anda perlu menduplikasi kodenya di buku kerja tempat Anda akan menggunakannya. Dengan metode ini, beberapa ketidaknyamanan mungkin muncul:
- Jika ada banyak file kerja, dan fungsinya diperlukan di mana-mana, maka kode harus disalin ke dalam setiap buku.
- Ingatlah untuk menyimpan buku kerja dalam format yang mendukung makro (.xlsm atau .xlsb).
- Ketika membuka file seperti itu, proteksi terhadap makro akan menampilkan peringatan setiap kali, yang harus dikonfirmasi. Banyak pengguna yang merasa takut ketika mereka melihat peringatan bilah kuning yang meminta mereka untuk mengaktifkan makro. Untuk menghindari melihat pesan ini, Anda perlu menonaktifkan proteksi Excel sepenuhnya. Namun, ini mungkin tidak selalu benar dan aman.
Saya pikir Anda akan setuju dengan saya bahwa sepanjang waktu membuka file dan menyalin kode fungsi yang ditentukan pengguna darinya atau menulis nama file ini dalam rumus bukanlah solusi terbaik. jadi, kami sampai pada cara ketiga.
Metode 3. Membuat file add-in Excel
Saya pikir cara terbaik adalah menyimpan fungsi kustom yang sering digunakan dalam file add-in Excel. Keuntungan menggunakan add-in:
- Anda hanya perlu menghubungkan add-in ke Excel sekali saja. Setelah itu, Anda dapat menggunakan prosedur dan fungsinya di file apa pun di komputer ini. Anda tidak perlu menyimpan buku kerja Anda dalam format .xlsm dan .xlsb karena kode sumber tidak akan disimpan di dalamnya tetapi di file add-in.
- Anda tidak akan diganggu oleh perlindungan makro lagi karena add-in selalu merujuk ke sumber tepercaya.
- Add-in adalah file terpisah. Sangat mudah untuk mentransfernya dari komputer ke komputer, untuk membaginya dengan rekan kerja.
Kita akan berbicara lebih lanjut mengenai membuat dan menggunakan add-in nanti.
Menggunakan add-in untuk menyimpan fungsi kustom
Bagaimana cara membuat add-in saya sendiri? Mari kita bahas proses ini selangkah demi selangkah.
Langkah 1. Buat file add-in
Buka Microsoft Excel, buat buku kerja baru, dan simpan di bawah nama yang sesuai (misalnya, My_Functions) dalam format add-in. Untuk melakukan ini, gunakan menu File - Simpan Sebagai atau tombol F12. Pastikan untuk menentukan jenis file Add-in Excel :
Add-in Anda akan memiliki ekstensi .xlam.
Tip. Harap dicatat bahwa secara default Excel menyimpan add-in dalam file C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns Jika Anda mau, Anda dapat menentukan folder lain. Tapi kemudian, saat menghubungkan add-in, Anda perlu mencari dan menentukan lokasi barunya secara manual. Jika Anda menyimpannya di folder default, Anda tidak perlu mencari add-on di komputer Anda. Excel akan secara otomatis mencantumkannya.
Langkah 2. Hubungkan file add-in
Sekarang add-in yang telah kita buat perlu dihubungkan ke Excel. Kemudian akan dimuat secara otomatis saat program dimulai. Untuk melakukan ini, gunakan menu File - Opsi - Add-Ins Pastikan Add-Ins Excel dipilih dalam Kelola Klik pada kolom Pergi Di jendela yang muncul, tandai add-in My_Functions kami. Jika Anda tidak melihatnya dalam daftar, klik tombol Jelajahi dan telusuri ke lokasi file add-in Anda.
Jika Anda menggunakan add-in untuk menyimpan fungsi kustom, ada satu aturan sederhana yang harus diikuti. Jika Anda mentransfer buku kerja ke orang lain, pastikan juga untuk mentransfer salinan add-in yang berisi fungsionalitas yang Anda inginkan. Mereka harus menghubungkannya dengan cara yang sama seperti yang Anda lakukan sekarang.
Langkah 3. Tambahkan fungsi kustom dan makro ke add-in
Add-in kami terhubung ke Excel, tetapi belum memiliki fungsionalitas apa pun. Untuk menambahkan UDF baru ke dalamnya, buka Editor Visual Basic dengan menekan Alt + F11 . Kemudian Anda dapat menambahkan modul baru dengan kode VBA seperti yang dijelaskan dalam tutorial Membuat UDF saya.
Pilih file add-in Anda ( My_Finctions.xlam ) di jendela VBAProject. Gunakan tombol Sisipkan - Modul Anda perlu menulis fungsi-fungsi khusus ke dalamnya.
Anda bisa mengetik kode fungsi yang didefinisikan pengguna secara manual atau menyalinnya dari suatu tempat.
Sekarang Anda telah membuat add-in Anda sendiri, menambahkannya ke Excel dan Anda dapat menggunakan UDF di dalamnya. Jika Anda ingin menggunakan lebih banyak UDF, cukup tulis kode dalam modul add-in di editor VBA dan simpan.
Itu saja untuk hari ini. Kami telah mempelajari cara menggunakan fungsi yang ditentukan pengguna di buku kerja Anda. Kami sangat berharap panduan ini bermanfaat bagi Anda. Jika Anda memiliki pertanyaan, tulis di komentar untuk artikel ini.