Kenali Sub Procedure di VBA Excel agar Kode Lebih Rapi

Saat pertama kali belajar VBA, banyak pemula menulis seluruh kode di dalam satu prosedur (Sub). Pendekatan ini memang masih dapat digunakan untuk makro sederhana.

Namun, ketika program mulai bertambah besar, satu prosedur yang berisi ratusan baris kode akan sulit dipahami, diuji, maupun diperbaiki.

Karena itu, salah satu kebiasaan yang perlu dibangun sejak awal adalah membagi program menjadi beberapa prosedur yang masing-masing memiliki tugas tertentu. Dengan cara ini, kode menjadi lebih rapi, mudah digunakan kembali, dan lebih mudah dipelihara.


Apa Itu Sub Procedure?

Sub Procedure (atau sering disebut Sub) adalah sekumpulan perintah VBA yang dikelompokkan menjadi satu prosedur untuk menjalankan tugas tertentu.

Berbeda dengan Function, sebuah Sub tidak mengembalikan nilai. Prosedur ini hanya menjalankan serangkaian instruksi ketika dipanggil.

Sintaks dasarnya adalah sebagai berikut.

Sub NamaProsedur()

    'Kode VBA

End Sub

Contoh:

Sub Salam()

    MsgBox "Selamat Belajar VBA Excel"

End Sub

Ketika prosedur tersebut dijalankan, VBA akan menampilkan sebuah kotak pesan.


Aturan Penamaan Sub

Nama prosedur sebaiknya mengikuti beberapa aturan berikut.

  • Diawali dengan huruf.

  • Tidak mengandung spasi.

  • Tidak menggunakan kata kunci VBA.

  • Gunakan nama yang menggambarkan fungsi prosedur.

Contoh yang baik:

Sub HitungTotal()
Sub CetakLaporan()
Sub FormatHeader()

Contoh yang kurang baik:

Sub A()
Sub Tes1()
Sub SubBaru()

Nama yang jelas akan memudahkan Anda memahami isi program beberapa bulan kemudian.


Menjalankan Sub Procedure

Sebuah prosedur dapat dijalankan dengan beberapa cara.

Misalnya terdapat prosedur berikut.

Sub TampilkanPesan()

    MsgBox "Halo"

End Sub

Anda dapat menjalankannya melalui:

  • tombol Run pada VBA Editor,

  • tombol F5,

  • tombol pada worksheet,

  • atau memanggilnya dari prosedur lain.


Memanggil Sub dari Sub Lain

Salah satu kelebihan menggunakan prosedur adalah dapat dipanggil kembali dari prosedur lain.

Sub Salam()

    MsgBox "Selamat Datang"

End Sub

Sub Mulai()

    Salam

End Sub

Ketika prosedur Mulai dijalankan, prosedur Salam akan dieksekusi.

Penulisan tersebut membuat kode lebih modular dan menghindari pengulangan.


Menggunakan Kata Kunci Call

Selain menuliskan nama prosedur secara langsung, Anda juga dapat menggunakan kata kunci Call.

Sub Mulai()

    Call Salam

End Sub

Kedua cara tersebut menghasilkan hasil yang sama.

Namun, pada VBA modern, pemanggilan langsung tanpa Call lebih sering digunakan karena lebih ringkas.


Mengatur Program Menjadi Beberapa Prosedur

Perhatikan contoh berikut.

Sub ProsesData()

    BersihkanData

    HitungTotal

    FormatLaporan

End Sub

Masing-masing prosedur memiliki tugas yang berbeda.

Sub BersihkanData()

    Range("A2:D100").ClearContents

End Sub

Sub HitungTotal()

    Range("E2").Formula = "=SUM(D2:D100)"

End Sub

Sub FormatLaporan()

    Range("A1:E1").Font.Bold = True

End Sub

Pendekatan seperti ini jauh lebih mudah dipahami dibandingkan menulis seluruh kode dalam satu prosedur yang sangat panjang.


Public dan Private Sub

Secara bawaan, sebuah prosedur bersifat Public.

Public Sub Cetak()

End Sub

Artinya, prosedur tersebut dapat dipanggil dari modul lain.

Sebaliknya,

Private Sub Cetak()

End Sub

hanya dapat digunakan di dalam modul tempat prosedur tersebut dibuat.

Gunakan Private jika prosedur hanya berfungsi sebagai prosedur pendukung.


Studi Kasus

Misalkan Anda ingin membuat laporan penjualan.

Daripada menulis semua kode dalam satu prosedur, Anda dapat membaginya seperti berikut.

Sub BuatLaporan()

    AmbilData

    HitungRingkasan

    FormatLaporan

    MsgBox "Laporan selesai dibuat."

End Sub

Dengan cara ini, setiap prosedur memiliki tanggung jawab yang jelas sehingga program lebih mudah dikembangkan di kemudian hari.


Kesalahan yang Sering Terjadi

Memberi Nama yang Tidak Jelas

Kurang baik:

Sub A()

Lebih baik:

Sub ImportData()

Menulis Semua Kode dalam Satu Sub

Prosedur yang terlalu panjang akan sulit dipelajari dan diperbaiki.

Pisahkan program menjadi beberapa prosedur kecil yang saling bekerja sama.


Menggunakan Public untuk Semua Prosedur

Tidak semua prosedur harus dapat diakses dari modul lain.

Gunakan Private jika prosedur hanya dipakai secara internal.


Tips Praktis

💡 Buat satu prosedur untuk satu tugas tertentu.

💡 Gunakan nama prosedur yang mudah dipahami.

💡 Pisahkan proses input, pengolahan data, dan format laporan ke dalam prosedur yang berbeda.

💡 Gunakan Private Sub untuk prosedur pendukung.

💡 Hindari prosedur yang berisi ratusan baris kode.


Ringkasan

PernyataanFungsi
Sub...End Sub Membuat prosedur
Public Sub Prosedur dapat dipanggil dari modul lain
Private Sub Prosedur hanya dapat dipanggil dalam modul yang sama
Call Memanggil prosedur (opsional)

Kesimpulan

Sub Procedure merupakan dasar penting dalam membangun aplikasi VBA yang rapi dan mudah dikelola. Dengan membagi program menjadi beberapa prosedur yang memiliki tanggung jawab masing-masing, Anda dapat mengurangi duplikasi kode, mempermudah proses pengujian, serta membuat program lebih mudah dikembangkan di masa mendatang. Semakin kompleks aplikasi yang dibuat, semakin besar manfaat dari penerapan konsep ini.

Hubungi Kami

Kantor Berkreasi
Alamat :
Pens Sky Venture - Sukolilo Surabaya
Karangrejo Tmur 17 Surabaya

Email : kantor.berkreasi@gmail.com
WA : wa.me/6287761589881  
(Support  Mbak Ana)

Tim Pengembang

Dr. Rojabi Azharghany, M.Si, S.Sos
Dr. H. Agus Sulthoni Imami, S.Psi. M.Pd.I.
Ali Ishaq, M.Pd.
Didik Rahwiniyanto, S.Si., M.Pd.
Mujiburrohman, M.Pd.
Mohammad Zikky, S.ST, M.T
Amien sawedi, S.Pd.
Didik P Wicaksono, M.Pd.