Daftar Isi:
Video: Cara membuat database dengan Microsoft Access 2024
Dalam pemrograman VBA, sebuah fungsi mengembalikan sebuah nilai. Anda dapat menjalankan prosedur Fungsi dan memanggil fungsi di Excel 2016. Fungsi, tidak seperti prosedur Sub, dapat dilakukan hanya dalam dua cara:
-
Dengan memanggil fungsi dari prosedur Sub atau Prosedur Fungsi
-
Dengan menggunakan fungsi dalam rumus lembar kerja
Cobalah fungsi sederhana ini. Masukkan dalam modul VBA:
Fungsi CubeRoot (bilangan) CubeRoot = angka ^ (1/3) Fungsi Akhir
Fungsi ini cukup wimpy; itu hanya menghitung akar kubus dari jumlah yang dilewatkan kepadanya sebagai argumennya. Namun, hal itu memberi titik awal untuk memahami fungsi. Ini juga menggambarkan konsep penting tentang fungsi: bagaimana mengembalikan nilainya. (Anda ingat bahwa sebuah fungsi mengembalikan sebuah nilai, bukan?)
Perhatikan bahwa satu baris kode yang membentuk prosedur Fungsi ini melakukan perhitungan. Hasil perhitungan matematika (bilangan ke daya 1/3) diberikan pada variabel CubeRoot. Bukan kebetulan, CubeRoot juga merupakan nama fungsi. Untuk memberi tahu fungsi apa nilai yang akan dikembalikan, Anda menetapkan nilai tersebut ke nama fungsi.
Memanggil fungsi dari prosedur Sub
Karena Anda tidak dapat menjalankan fungsi secara langsung, Anda harus menelponnya dari prosedur lain. Masukkan prosedur sederhana berikut di modul VBA yang sama yang berisi fungsi CubeRoot:
Sub CallerSub () Ans = CubeRoot (125) MsgBox Ans End Sub
Saat menjalankan prosedur CallerSub, Excel menampilkan kotak pesan yang berisi nilai variabel Ans, yaitu 5.
Inilah yang terjadi: Fungsi CubeRoot dijalankan, dan menerima argumen 125. Perhitungan dilakukan oleh kode fungsi (dengan menggunakan nilai yang dilewatkan sebagai argumen), dan nilai fungsi dikembalikan ke Variabel Ans Fungsi MsgBox kemudian menampilkan nilai variabel Ans.
Cobalah mengubah argumen yang diteruskan ke fungsi CubeRoot dan jalankan makro CallerSub lagi. Ini bekerja seperti seharusnya - dengan asumsi bahwa Anda memberi fungsi argumen yang valid (angka positif).
Omong-omong, prosedur CallerSub bisa disederhanakan sedikit. Variabel Ans tidak benar-benar diperlukan kecuali kode Anda akan menggunakan variabel itu nanti. Anda bisa menggunakan pernyataan tunggal ini untuk mendapatkan hasil yang sama:
MsgBox CubeRoot (125)
Memanggil fungsi dari formula lembar kerja
Sekarang saatnya memanggil fungsi VBA ini dari formula worksheet.Aktifkan lembar kerja di workbook yang sama dengan definisi fungsi CubeRoot. Kemudian masukkan rumus berikut di sel manapun:
= CubeRoot (1728)
Sel menampilkan 12, yang memang merupakan akar kubus 1, 728.
Seperti yang Anda duga, Anda dapat menggunakan referensi sel sebagai argumen untuk fungsi CubeRoot. Misalnya, jika sel A1 mengandung nilai, Anda dapat memasukkan = CubeRoot (A1) . Dalam kasus ini, fungsi mengembalikan bilangan yang diperoleh dengan menghitung akar kubus dari nilai A1.
Anda dapat menggunakan fungsi ini beberapa kali di lembar kerja. Seperti fungsi built-in Excel, fungsi kustom Anda muncul di kotak dialog Insert Function. Klik tombol Insert Function toolbar, dan pilih kategori User Defined. Kotak dialog Insert Function mencantumkan fungsi Anda sendiri.
Fungsi CubeRoot muncul di kategori User Defined dari kotak dialog Insert Function.Jika Anda ingin kotak dialog Insert Function untuk menampilkan deskripsi fungsi, ikuti langkah-langkah ini:
-
Choose Developer → Code → Macros.
Excel menampilkan kotak dialog Makro, namun CubeRoot tidak muncul dalam daftar. (CubeRoot adalah prosedur Fungsi, dan daftar ini hanya menunjukkan prosedur Sub). Jangan khawatir.
-
Ketik kata CubeRoot di kotak Macro Name.
-
Klik tombol Options.
-
Masukkan deskripsi fungsi dalam kotak Description.
-
Klik OK untuk menutup kotak dialog Macro Options.
-
Tutup kotak dialog Makro dengan mengklik tombol Cancel.
Teks deskriptif ini sekarang muncul di kotak dialog Insert Function.
Simak fungsi CubeRoot yang digunakan dalam formula lembar kerja.
Menggunakan fungsi CubeRoot dalam formula.