Penggunaan Function dan Sub Procedure pada VBA Excel

tutorialmicrosoftexcel.net – Dalam VBA Excel, kumpulan perintah yang buat untuk tujuan tertentu akan ditempat pada 2 prosedur yaitu Function dan Sub Procedure (atau biasa kita kenal dengan Fungsi dan Subroutines). Fungsi dan Sub akan mengakomodir kumpulan perintah VBA Excel.

Perbedaan mendasar pada Fungsi dan Sub adalah dimana Fungsi menghasil nilai tertentu sedangkan Sub tidak menghasilkan nilai. Maka dari itu jika kita ingin membuat sebuah perintah yang menghasilkan nilai (seperti membuat penjumlahan tertentu) kita biasanya akan membuat sebuah Fungsi. Tapi jika membuat perintah seperti format cell, menambahkan baris atau menyimpan data ke sheet tertentu maka biasanya kita membuat Sub procedure.

Penulisan Function dan Sub Procedure

VBA dapat memproses data melalui argumen yang dinyatakan dan diargumentasikan melalui prosedur. Misalnya kita ingin membuat format tertentu pada cell dengan membuat sub procedure kita dapat menambahkan perintah ke dalam sub procedure tersebut dengan penulisan seperti berikut ini :

Sub Format_Centered_And_Sized(Optional iFontSize As Integer = 10)
Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
Selection.Font.Size = iFontSize
End Sub

Menuliskan argumen  Sub procedure pada VBA diawali dengan Sub dan diakhiri dengan End Sub. 

Sedangkan VBA akan mengenal perintah sebagai fungsi jika perintah diawali dengan kata Function dan diakhiri dengan End Function seperti contoh dibawah ini :

Function

…..

……
End Sub

Seperti yang disebutkan sebelumnya, Function procedure menghasilkan sebuah nilai dan nilai tersebut mempunyai beberapa aturan :

  1. Nilai  harus dideklarasikan  terlebih dahulu pada bagian Function
  2. Nilai yang dideklarasikan memiliki nama yang sama dengan function (fungsi) maka nilai tersebut tidak perlu dideklarasikan ke dalam variabel.

Untuk lebih jelasnya lihat contoh dibawah ini :

Function sumMinus(nilai1 As Range, nilai2 As Range)
nSum = WorksheetFunction.Sum(nilai2)
hasil = nilai1 - nSum
sumMinus = hasil
End Function

contoh di atas adalah jika nilai yang dihasilkan (variabel hasil) oleh fungsi berbeda dengan nama Fungsi (sumMinus) maka harus dideklarasikan terlebih dahulu.

Function sumMinus(nilai1 As Range, nilai2 As Range)
nSum = WorksheetFunction.Sum(nilai2)
sumMinus = nilai1 - nSum
End Function

sedangkan contoh yang di atas, nilai yang dihasilkan memiliki nama yang sama dengan fungsi.

Demikian perbedaan dan kegunaan dari Function dan Sub Procedure pada VBA macro di Microsoft Excel. Untuk lebih jelas lagi anda dapat mempelajarinya di artikel Fungsi Penjumlahan Berdasarkan Warna Cell yang telah kami publish sebelumnya. Semoga bermanfaat Tutorial Microsoft Excel

Berita Lainnya