Unduh PDF
Unduh PDF
Meskipun Excel sudah memiliki ratusan fungsi bawaan seperti SUM, VLOOKUP, LEFT, dan lain sebagainya, fungsi bawaan yang tersedia biasanya tidak cukup memadai untuk mengerjakan tugas yang cukup rumit. Namun, jangan khawatir karena Anda hanya perlu membuat sendiri fungsi yang dibutuhkan.
Langkah
-
Buatlah buku kerja ( workbook ) baru atau buka buku kerja yang ingin diolah dengan Fungsi Buatan Pengguna ( User Defined Function alias UDF).
-
Buka Visual Basic Editor di Microsoft Excel melalui Tools->Macro->Visual Basic Editor (atau menekan pintasan Alt+F11).
-
Klik tombol Module untuk menambahkan modul baru ke kertas kerja Anda. Anda bisa membuat UDF di buku kerja tanpa menambahkan modul baru, tetapi fungsi tidak akan bisa digunakan di kertas kerja lain dalam buku kerja yang sama.
-
Buat "kepala" atau "prototipe" fungsi Anda. Prototipe fungsi harus mengikuti struktur berikut:
public function "Nama Fungsi" (parameter1 As tipe1, parameter2 As tipe2 ) As Tipe hasil.
Prototipe boleh memiliki sebanyak mungkin fungsi, dan tipenya dapat berupa semua tipe data dasar atau tipe objek Excel dalam bentuk Range (rentang). Anda dapat menganggap parameter sebagai “operan” (pengoperasi) yang akan ditindak oleh fungsi. Sebagai contoh, saat Anda menuliskan SIN(45) untuk menghitung sinus 45 derajat, angka 45 akan diambil sebagai parameter. Kemudian, kode fungsi akan menggunakan nilai tersebut untuk melakukan perhitungan dan menampilkan hasilnya. -
Tambahkan kode fungsi untuk memastikan bahwa Anda: 1) menggunakan nilai yang diberikan oleh parameter; 2) menyerahkan hasilnya kepada nama fungsi; dan 3) menutup fungsi dengan kalimat " end function " .Mempelajari pemrograman di VBA atau dalam bahasa lainnya membutuhkan banyak waktu dan panduan terperinci. Untungnya, fungsi-fungsi ini biasanya memiliki blok kode kecil dan tidak banyak menggunakan fitur bahasa pemrograman. Berikut adalah beberapa unsur bahasa VBA yang dapat digunakan:
- Blok If
(jika), yang memungkinkan Anda mengeksekusi sebagian kode hanya jika kondisinya terpenuhi. Sebagai contoh:
Public Function HasilKursus (nilai As Integer ) As String
If nilai >= 5 Then
HasilKursus = "Diterima"
Else
HasilKursus = "Ditolak"
End If
End Function
Perhatikan unsur di dalam blok kode If :IF kondisi THEN kode ELSE kode END IF
. Anda boleh tidak menuliskan kata kunci Else beserta bagian kedua kode karena opsional. - Blok Do
(lakukan), yang mengeksekusi sebagian kode While
(selagi) atau Until
(sampai), ketika atau hingga kondisinya terpenuhi. Sebagai contoh:
Public Function BilPrima(nilai As Integer ) As Boolean
Dim i As Integer
i = 2
BilPrima = Benar
Do
If nilai / i = Int(nilai / i) Then
BilPrima = Salah
End If
i = i + 1
Loop While i < nilai And BilPrima = Benar
End Function
Perhatikan kembali unsur-unsurnya:DO kode LOOP WHILE/UNTIL kondisi
. Perhatikan juga baris kedua yang “mendeklarasikan” variabel. Anda dapat menambahkan variabel ke dalam kode supaya dapat digunakan nanti. Variabel bertindak sebagai nilai sementara di dalam kode. Terakhir, perhatikan deklarasi fungsi sebagai BOOLEAN , yang merupakan tipe data yang hanya mengizinkan nilai BENAR ( TRUE ) atau SALAH ( FALSE ). Cara penentuan bilangan prima ini memang jauh dari optimal, tetapi kode sudah dituliskan sedemikian rupa sehingga mudah untuk dibaca. - Blok For
(untuk), yang mengeksekusi sebagian kode sebanyak jumlah tertentu. Sebagai contoh:
Public Function Faktorial(nilai As Integer ) As Long
Dim hasil As Long
Dim i As Integer
If nilai = 0 Then
hasil = 1
ElseIf nilai = 1 Then
hasil = 1
Else
hasil = 1
For i = 1 To nilai
hasil= hasil * i
Next
End If
Faktorial = hasil
End Function
Perhatikan kembali unsur-unsurnya:variabel FOR = batas bawah TO batas atas kode NEXT
. Selain itu, perhatikan unsur tambahan ElseIf di dalam penyataan If , yang memungkinkan Anda menambahkan lebih banyak opsi pada kode yang dieksekusi. Terakhir, perhatikan fungsi dan variabel “hasil” yang dideklarasikan sebagai Long . Tipe data Long memungkinkan nilai yang jauh lebih besar daripada Integer .
Di bawah ini ditampilkan kode untuk fungsi yang mengubah angka-angka kecil menjadi kata-kata.
- Blok If
(jika), yang memungkinkan Anda mengeksekusi sebagian kode hanya jika kondisinya terpenuhi. Sebagai contoh:
-
Kembalilah ke buku kerja dan gunakan fungsi dengan menuliskan simbol “sama dengan” (=) diikuti dengan nama fungsi di dalam sel. Tulis simbol buka kurung (“(“) setelah nama fungsi, gunakan tanda koma untuk memisahkan parameter-parameter, dan akhiri dengan tutup kurung (“)”). Sebagai contoh:
=AngkaKeHuruf(A4)
. Anda juga bisa menggunakan rumus buatan sendiri dengan mencarinya di kategori User Defined di dalam opsi Insert Formula . Anda cukup mengeklik tombol Fx di sebelah kiri bilah rumus. Ada tiga jenis bentuk parameter dalam fungsi:- Nilai konstan yang ditik langsung di rumus sel. Dalam kasus ini, teks ( string ) harus dikutip.
- Referensi sel, misalnya B6 atau rentang seperti A1:C3 (parameter harus berupa tipe data “ Range ”)
- Fungsi lain yang dikurung di dalam fungsi Anda (fungsi Anda juga bisa dikurung di dalam fungsi lain), misalnya: =Faktorial( MAX (D6:D8))
-
Pastikan hasilnya sudah tepat. Gunakan beberapa kali untuk memastikan bahwa fungsi mampu menangani berbagai nilai parameter dengan benar:Iklan
Tips
- Ketika menuliskan blok kode di dalam struktur kontrol seperti If, For, Do , dan lain-lain, pastikan Anda menginden (memasukkan batas kiri baris agak ke dalam) blok kode dengan menekan tombol spasi beberapa kali, atau tab . Dengan demikian, kode lebih mudah dimengerti dan galat ( error ) akan jauh lebih mudah ditemukan. Selain itu, peningkatan fungsi pun menjadi lebih gampang dibuat.
- Jika Anda tidak tahu cara menuliskan kode untuk fungsi, bacalah artikel Cara Menulis Makro Sederhana di Microsoft Excel .
- Terkadang, fungsi tidak memerlukan semua parameter untuk menghitung hasil. Dalam kasus ini, Anda bisa menggunakan kata kunci Optional (opsional) sebelum nama parameter di kepala ( header ) fungsi. Anda dapat menggunakan fungsi IsMissing (nama_parameter) di dalam kode untuk menentukan apakah parameter diberikan nilai atau tidak.
- Gunakan nama yang belum dipakai sebagai fungsi dalam Excel supaya tidak ada fungsi yang tertimpa dan terhapus.
- Excel memiliki banyak fungsi bawaan dan sebagian besar perhitungan dapat dilakukan menggunakan fungsi-fungsi bawaan ini, entah satu per satu atau sekaligus. Pastikan Anda melihat daftar fungsi yang tersedia sebelum mulai melakukan pengodean sendiri. Eksekusi dapat dilakukan lebih cepat jika Anda menggunakan fungsi bawaan.
Iklan
Peringatan
- Demi alasan keamanan, banyak orang menonaktifkan makro. Pastikan Anda mengabarkan penerima buku kerja Anda bahwa buku kerja yang dikirimkan memiliki makro, dan makro ini tidak akan merusak komputer mereka.
- Fungsi yang digunakan dalam artikel ini bukanlah cara terbaik untuk menyelesaikan masalah terkait. Contoh tersebut digunakan untuk menjelaskan penggunaan struktur kontrol bahasa.
- VBA, layaknya bahasa lain, memiliki beberapa struktur kontrol lain selain Do, If dan For . Struktur yang dibahas di sini hanya menjelaskan hal-hal apa saja yang dapat dilakukan di dalam kode sumber fungsi. Ada banyak panduan di internet yang dapat dipakai untuk membantu Anda mempelajari VBA.
Iklan
Tentang wikiHow ini
Halaman ini telah diakses sebanyak 22.756 kali.
Iklan