Cara Menggunakan Function Procedure VBA Excel #09

Cara Menggunakan Function Procedure VBA Excel #09

Tutorial cara menggunakan function procedure, custom funtion atau User Defined Funtion (UDF) pada VBA Excel.
Cara Menggunakan Function Procedure VBA Excel

Setelah memahami bagaimana membuat function procedure pada VBA Excel, tentunya kita juga harus tahu bagaimana cara menjalankan, memangggil atau mengeksekusi prosedur fungsi yang telah dibuat.

Sebelumnya kita juga sudah mempelajari 9 cara menjalankan sub procedure, apakah untuk function procedure caranya juga sama?

Sayangnya cara untuk menggunakan function procedure sedikit terbatas. Secara umum anda dapat menggunakan 3 alternatif cara berikut untuk menjalankan atau memanggil sebuah function procedure:
  1. Memanggil funtion procedure dari procedure lain.
  2. Menjalankan function procedure dari Immediate Window.
  3. Menggunakan function procedure sebagai rumus excel.

Pada seri panduan Excel VBA Dasar kali ini kita akan membahas ketiga cara tersebut.



Sebelum melanjutkan pembahasan tentang cara menggunakan prosedur fungsi pada VBA Excel ini, silahkan anda buat dulu sebuah standart module baru kemudian buatlah sebuah function procedure seperti berikut pada modul tersebut.

Function DISKON(jumlah As Long, harga As Currency, Optional persen As Double = 0.05)
    'Deklarasi variabel jmlDiskon
    Dim jmlDiskon As Currency

    'Menghitung jumlah diskon
    jmlDiskon = jumlah * harga * persen

    'Assign return value diskon kepada fungsi DISKON
    DISKON = jmlDiskon
End Function

Anggap saja UDF atau custom function di atas digunakan untuk menghitung diskon penjualan barang dengan menggunakan 3 parameter atau argumen:
  1. jumlah : menunjukkan jumlah barang yang terjual.
  2. harga : menunjukkan harga satuan barang yang dijual.
  3. persen : menunjukkan besaran diskon yang mana nilai defaultnya adalah 0,05 atau 5%.

Umumnya untuk mendapatkan diskon ada kriteria tertentu yang harus terpenuhi, namun agar lebih sederhana diskon penjulana disini kita hitung tanpa kriteria apapun.

Jika sudah dibuat mari kita lanjutkan pada pembahasan cara menggunakan function procedure tersebut.

CARA MEMANGGIL FUNCTION PROCEDUR DARI PROCEDURE LAIN


Cara pertama yang bisa kita gunakan untuk memanggil atau menjalankan function procedure adalah dengan memanggilnya dari procedure lain.

Cara yang umum digunakan yakni dengan menuliskan baris kode yang berisi nama fungsi beserta nilai-nilai argumennya. Misalnya berikut ini:

Sub munculkanDiskon()
    MsgBox DISKON(10, 1500, 0.25)
End Sub

Jika anda menjalankan prosedure diatas hasilnya adalah kotak pesan berikut:

Memanggil Function Procedure Dari Procedure Lain

Angka 3750 pada kotak pesan tersebut didapatkan dari hasil kalkulasi oleh fungsi DISKON (10*1500*25%).

Cara lain adalah dengan menggunakan Application.Run method seperti berikut ini:

Sub tampilkanDiskon()
    MsgBox Application.Run("DISKON", 10, 1500, 0.25)
End Sub

Prosedure di atas akan menghasilkan kotak pesan yang sama seperti sebelumnya.

Pada VBE, argumen fungsi dipisahkan dengan koma(,), sedangkan pemisah desimal mengunakan titik(.) meskipun menggunakan pengaturan regional Indonesia

CARA MENJALANKAN FUNCTION PROCEDURE DARI IMMEDIATE WINDOW


Cara lain untuk menjalankan sebuah function procedure adalah dengan memanggilnya dari Immediate Window. Sebelum bisa menggunakannya tentunya anda harus menampilkan dulu Immediate Window yang sudah kita bahas pada seri sebelumnya.

Metode ini biasanya digunakan untuk melakukan debug kode VBA, dengan kata lain untuk memeriksa atau menguji apakah kode VBA yang kita buat sudah sesuai keinginan atau ada error tertentu.

Cara yang biasa digunakan adalah dengan menggunakan printah "Print" kemudian diikuti nama fungsi dan argumennya kemudian tekan Enter seperti berikut ini:

Memanggil Function Procedure Dari Immediate Window

Anda juga bisa menggantikan perintah "Print" dengan tanda tanya (?) seperti ini:

Memanggil Function Procedure Dari Jendela Immediate

Nah, mudah bukan?

CARA MENGGUNAKAN FUNCTION PROCEDURE SEBAGAI RUMUS EXCEL


Pada pembahasan tentang function procedure, disebutkan bahwa function procedure juga lazim disebut sebagai Custom function dan juga sebagai User Defined Funtion (UDF).

Hal ini lebih di sebabkan karena function procedure bisa kita perlakukan layaknya fungsi bawaan excel semisal fungsi SUM, AVERAGE, VLOOKUP, dan lain sebagainya.

Jadi kita juga bisa menggunakan function procedure sebagai sebuah rumus excel bahkan dapat juga digunakan pada conditional formatting.

Cara menggunakannya juga seperti saat anda menggunakan fungsi default excel, yakni dengan mengetikkan tanda sama dengan (=) kemudian diikuti dengan nama fungsi, lengkap dengan argumen-argumentnya.

Berikut contohnya:

=DISKON(10; 1500; 0,25)

Cara Menggunakan UDF (User Defined Function) VBA Excel

Contoh di atas dibuat dengan excel 2016 yang dengan pengaturan regional setting Indonesia yang menggunakan titik koma(;) sebagai pemisah argumen dan karakter koma(,) sebagai pemisah desimal

Cara di atas berlaku jika function procedure yang anda buat anda gunakan pada file yang sama.

Fungsi DISKON diatas, jika anda gunakan untuk file yang lain akan menghasilkan error #NAME? seperti ini:

Custom Function Error #NAME?

Jika bermaksud menggunakannya pada workbook yang berbeda maka ikut sertakan juga nama file yang menyimpan function procedure DISKON seperti ini.

='Kelas Excel-Latihan VBA 6.xlsm'!DISKON(10; 1500; 0,25)

Cara Menggunakan UDF (User Defined Function) VBA Excel

Cara seperti diatas berlaku jika file "Kelas Excel-Latihan VBA 6.xlsm" dalam kondisi open(terbuka).

Jika tidak ingin menggunakan nama file anda dapat juga menetapkan referensi pada file/workbook excel yang menyimpan fungsi DISKON tersebut yang bisa anda atur pada Menu Tools VBE.

Tools References Visual Basic Editor

Masih ada pertanyaan? Silahkan sampaikan pada kolom komentar yang tersedia.

Silahkan bagikan tulisan ini di akun sosial media agar teman-teman Anda juga mendapatkan manfaat yang sama. Apabila ada pertanyaan, saran atau kritik, silahkan disampaikan melalui kolom komentar.

Cara Menggunakan Function Procedure VBA Excel #09Tutorial cara menggunakan function procedure, custom funtion atau User Defined Funtion (UDF) pada VBA Excel.