Program
Visual Basic for Applications (VBA) di Excel adalah bahasa yang memungkinkan pengguna mengotomatiskan tugas berulang dan meningkatkan fungsionalitas Excel jauh melampaui fitur standarnya. Jadi, baik Anda pemula yang ingin meningkatkan produktivitas maupun pengguna berpengalaman yang ingin merapikan alur kerja kompleks, VBA hadir untuk mempermudah segalanya.
Dalam panduan ini, saya akan menjelaskan konsep VBA dasar hingga lanjutan. Namun, jika Anda baru di Excel, mulailah dengan Excel Fundamentals untuk membangun fondasi yang kuat sebelum lanjut ke VBA.
Apa itu VBA di Excel?
Visual Basic for Applications (VBA) adalah bahasa pemrograman yang digunakan untuk mengotomatiskan tugas dan meningkatkan fungsionalitas aplikasi Microsoft Office. Anda dapat menggunakannya dengan Excel, Word, Access, dan program Office lainnya, meskipun kemungkinan paling luas digunakan untuk membuat macro kustom di Excel, yang akan kita bahas.
Secara pribadi, pertama kali saya menggunakan VBA adalah untuk mengotomatiskan laporan mingguan yang sebelumnya memakan waktu berjam-jam untuk disusun secara manual. Hanya dengan beberapa baris kode, saya memangkas proses menjadi satu kali klik tombol dan menghemat banyak waktu. Sejak saat itu, saya tahu bahwa meluangkan waktu untuk menguasainya akan memberikan hasil yang sangat besar dalam hal produktivitas.
Istilah Penting VBA Excel
Sebelum bekerja dengan VBA, Anda harus memahami istilah dan konsep kuncinya. Berikut daftar beberapa istilah yang paling sering Anda temui saat mulai mengotomatiskan tugas dan membangun solusi kustom di Excel.
-
Module adalah wadah untuk kode VBA, tempat prosedur dan fungsi disimpan.
-
Object adalah blok pembangun VBA. Mereka merepresentasikan elemen seperti workbook, worksheet, dan sel.
-
Procedure adalah blok kode yang menjalankan tugas tertentu, sering dikategorikan sebagai sub-procedure atau function.
-
Statement adalah instruksi di dalam sebuah procedure yang memberi tahu Excel (atau Word atau Access) tindakan apa yang harus dilakukan.
-
Variable menyimpan data yang dapat digunakan dan dimanipulasi di dalam kode Anda.
-
Operator logika membandingkan nilai dan mengambil keputusan berdasarkan hasilnya. Ini mencakup operator seperti
And,Or, danNot.
Memulai dengan VBA di Excel
Untuk mulai menggunakan VBA, Anda perlu mengakses editor VBA. Di sinilah Anda akan menulis dan mengedit kode VBA. Mari kita lihat cara menuju ke sana:
Mengaktifkan tab Developer
Langkah pertama adalah mengaktifkan tab Developer, yang sering disembunyikan di Ribbon. Caranya:
- Klik kanan di mana saja pada Ribbon.

Ribbon di Excel. Gambar oleh Penulis.
- Pilih opsi Customize the Ribbon....

Kustomisasi Ribbon untuk mengaktifkan tab Developer. Gambar oleh Penulis.
- Kotak dialog akan muncul. Centang opsi Developer dan klik OK.

Memilih opsi Developer. Gambar oleh Penulis.
Sekarang Anda dapat melihat tab Developer di bagian atas Ribbon.

Tab Developer telah diaktifkan pada Ribbon. Gambar oleh Penulis.
Membuka editor VBA
Setelah tab Developer diaktifkan, Anda dapat mengakses editor VBA. Klik tab Developer dan pilih Visual Basic dari opsi yang ada. Anda juga dapat menggunakan pintasan keyboard ALT + F11 untuk langsung membuka editor VBA.

Editor VBA. Gambar oleh Penulis.
Menavigasi antarmuka VBA
Editor VBA mungkin awalnya terasa menakutkan, tetapi sebenarnya mudah digunakan. Mari pahami beberapa area kuncinya:
- Code Pane adalah tempat Anda menulis dan mengedit kode VBA.
- Project Explorer menampilkan tampilan hierarkis proyek dan module di workbook Anda.
- Properties Window menampilkan properti untuk object yang dipilih guna menyesuaikan pengaturannya.

Antarmuka VBA di Excel. Gambar oleh Penulis.
Menulis Kode VBA di Excel
Sekarang Anda sudah mengenal editor VBA, saatnya mulai menulis kode. Kode VBA terdiri dari bagian-bagian berbeda, seperti sub procedure dan function. Ini adalah serangkaian instruksi yang memberi tahu Excel apa yang harus dilakukan. Jangan khawatir jika Anda belum pernah pemrograman sebelumnya—saya akan membahasnya langkah demi langkah.
Menulis subroutine VBA
Sebelum menulis macro, Anda harus membuat lingkungan macro. Caranya, ikuti langkah-langkah ini:
- Di dalam editor VBA, pilih Insert > Module. Sebuah module baru akan dibuat dengan nama default Module1.

Pilih Module di bawah tab Insert. Gambar oleh Penulis.
- Anda dapat mengubah nama module di panel Properties.

Ganti nama module VBA. Gambar oleh Penulis.
Sekarang Anda tahu cara menyiapkan lingkungan untuk membuat macro, mari kita buat macro pertama untuk menampilkan pesan. Secara default, jendela kode terbuka saat module dibuat. Jika tidak muncul pada kasus Anda, klik kanan pada module yang Anda buat dan klik View Code. Jendela kode akan muncul dan di sanalah Anda menulis macro.
Di sini, saya membuat macro untuk menampilkan pesan Hello, World!. Untuk melakukannya, saya menulis kode berikut di panel kode:
Sub ShowMessage()
MsgBox "Hello, World!"
End Sub
Penjelasan:
-
Sub adalah kata kunci untuk subroutine, yaitu blok kode yang menjalankan tugas tertentu. Dalam VBA, subroutine tidak mengembalikan nilai.
-
ShowMessage adalah nama subroutine. Anda dapat menamainya apa saja, selama mengikuti konvensi penamaan VBA (misalnya, tanpa spasi, tidak boleh diawali angka).
-
() digunakan untuk mendefinisikan parameter subroutine. Karena tidak ada parameter yang diperlukan, tanda kurung dibiarkan kosong.
-
MsgBox adalah fungsi bawaan VBA yang menampilkan kotak pesan di layar.
-
End Sub menandai akhir subroutine. Segala sesuatu di antara
SubdanEnd Subadalah kode yang akan dijalankan saat subroutine dipanggil. -
String teks di VBA diapit oleh tanda kutip ganda. Di sini, kita ingin string
Hello, World!muncul di dalam kotak pesan.

Menulis macro. Gambar oleh Penulis.
- Sekarang saatnya menjalankan kode. Gunakan tombol pintas F5. Jika ingin melakukannya secara manual, buka tab Developer dan pilih Macros. Klik Run.

Pilih opsi Macros di bawah tab Developer. Gambar oleh penulis.
Sekarang Anda dapat melihat kotak pesan muncul pada lembar Excel Anda.

Kotak pesan. Gambar oleh Penulis.
Memahami object di VBA
Dalam VBA, object memungkinkan Anda mengendalikan berbagai elemen di Excel dan mengotomatiskan tugas untuk alur kerja yang lebih efisien. Ada tiga object kunci: Workbook, Worksheet, dan Range. Mari pahami masing-masing dengan contoh praktis.
Object Workbook adalah file Excel apa pun yang sedang terbuka. Ini memungkinkan kita melakukan tindakan seperti menambahkan sheet baru atau menyimpan sheet yang ada di dalam workbook. Pada contoh ini, saya ingin menambahkan satu sheet ke sheet yang sedang dibuka lalu menyimpannya. Awalnya, saya memiliki Sheet1. Untuk menambahkan sheet lain, saya menulis kode berikut:
Sub AddSheetAndSaveWorkbook()
' Adds a new worksheet to the active workbook
ActiveWorkbook.Sheets.Add
' Saves the workbook
ActiveWorkbook.Save
End Sub
Kode ini bekerja persis sama seperti kode sebelumnya, tetapi di sini saya menambahkan komentar. Komentar diawali dengan ' dan tidak memengaruhi kode Anda. Kita menambahkannya semata-mata untuk memudahkan pemahaman kode.
Anda dapat melihat satu sheet lagi, Sheet2, sekarang dibuat.

Menambahkan dan menyimpan sheet baru pada sheet yang ada menggunakan VBA. Gambar oleh Penulis.
Object Worksheet merepresentasikan sheet yang sedang aktif di Excel. Dengan ini, Anda dapat memodifikasi atau memanipulasi sheet aktif. Misalnya, saya ingin mengubah nama sheet aktif. Untuk itu, saya masukkan kode berikut:
Sub RenameActiveSheet()
' Renames the active sheet to "Sales Report".
ActiveSheet.Name = "Sales Report"
End Sub

Mengubah nama worksheet menggunakan VBA. Gambar oleh Penulis.
Sekarang, Sheet1 telah diganti nama menjadi Sales Report.

Mengganti nama worksheet Excel menggunakan VBA. Gambar oleh Penulis.
Object Range merujuk pada sekelompok sel tertentu atau satu sel yang dapat kita perlakukan sesuai kebutuhan. Pada contoh berikut, saya memilih rentang sel dari F3 hingga I3 dan mengubah warna latar belakangnya. Untuk melakukannya, saya menulis kode berikut:
Sub FormatRange()
' Selects the range from A1 to C6
Range("F3:I3"). Select
' Changes the background color of the selected range to Green
Selection.Interior.Color = RGB(101, 255, 143)
End Sub

Memilih range dan mengubah warnanya menggunakan VBA. Gambar oleh Penulis.
Anda dapat melihat perbedaan hasilnya.

Mengubah warna menggunakan VBA di Excel. Gambar oleh Penulis.
Membuat variable di VBA
Seperti bahasa pemrograman lainnya, variable VBA menyimpan dua tipe data utama, angka dan teks. Untuk menggunakannya di VBA, Anda harus mendeklarasikan variable terlebih dahulu menggunakan keyword sesuai preferensi Anda, diikuti oleh nama variable dan tipe data.
Keyword variableName As DataType
Penjelasan:
-
Keywordbisa berupaDim,Static,Public, danPrivate. -
variableNamemengacu pada nama yang dipilih untuk variable ini (tanpa spasi). -
Asdigunakan untuk mendeklarasikan tipe variable. -
DataTypemengacu pada tipe variable, sepertiInteger.
Saat bekerja dengan variable, Anda juga harus mematuhi beberapa aturan:
- Panjangnya harus kurang dari 255 karakter.
- Tidak boleh ada spasi di antara karakter.
- Nama tidak boleh diawali dengan angka.
- Jangan gunakan titik dalam nama.
Tipe data numerik
Tipe data numerik di VBA digunakan untuk menyimpan nilai angka.
| Tipe data | Disimpan | Kisaran nilai |
|---|---|---|
| Byte | 1 Byte | Menyimpan bilangan bulat dari 0 hingga 255 |
| Integer | 2 Byte | Menyimpan bilangan bulat dalam kisaran -32.768 hingga 32.767 |
| Long | 4 Byte | Menyimpan bilangan bulat yang lebih besar, dari -2.147.483.648 hingga 2.147.483.647 |
| Single | 4 Byte | Menyimpan bilangan desimal dengan presisi tunggal |
| Double | 8 Byte | Menyimpan bilangan desimal dengan presisi ganda |
| Currency | 8 Byte | Menyimpan angka dengan tempat desimal tetap |
| Variant (teks) | Panjang teks + 22 byte | 0 hingga 2 miliar karakter |
Tipe data non-numerik
Tipe data non-numerik di VBA menyimpan nilai yang bukan angka.
| Tipe data | Disimpan | Kisaran nilai |
|---|---|---|
| String | Panjang string | Menyimpan teks |
| Date | 8 Byte | Menyimpan tanggal dan waktu |
| Boolean | 2 Byte | Menyimpan True atau False |
| Variant | 16 Byte | Menyimpan tipe data apa pun dan digunakan ketika tipenya belum diketahui sebelumnya |
Mengotomatiskan Tugas dengan Macro VBA Excel
Macro pada dasarnya adalah serangkaian instruksi yang dibuat di VBA untuk menjalankan tugas berulang. Dengan macro, Anda dapat merekam serangkaian tindakan, seperti memformat sel, menyalin data, atau melakukan perhitungan. Setelah disimpan, kita dapat menerapkan kembali tindakan tersebut dengan sekali klik. Ini menghemat waktu, terutama saat bekerja dengan dataset atau tugas yang besar.
Misalnya, jika Anda sering memformat laporan dengan cara yang sama, Anda dapat merekam macro yang menerapkan semua langkah pemformatan yang diperlukan alih-alih melakukannya secara manual setiap kali. Nantinya, Anda dapat menjalankan macro ini untuk memformat data baru. Kita telah menunjukkan beberapa contoh dasar, tetapi bayangkan melakukan lebih banyak tindakan kecil hanya dengan satu klik. Bahkan jika Anda tidak memiliki pengalaman pemrograman, Anda tetap dapat mengotomatiskan tugas rutin untuk merapikan alur kerja dan mengurangi kemungkinan kesalahan yang bisa terjadi saat melakukan tindakan berulang secara manual.
Merekam macro Excel
Mari lihat cara merekam macro untuk melakukan beberapa perubahan pemformatan:
- Buka tab Developer > tombol Record Macro.
- Kotak dialog akan muncul. Beri nama macro Anda seperti yang saya lakukan FormatCells.
- Tetapkan pintasan keyboard jika diinginkan. Saya menetapkannya menjadi Ctrl+S.
- Klik OK untuk mulai merekam.
Sekarang macro mulai merekam, lakukan tindakan yang ingin Anda otomasi. Untuk contoh ini, saya merekam beberapa perubahan pemformatan pada sebuah tabel sederhana. Setelah selesai, kembali ke tab Developer dan klik tombol Stop Recording. Di bawah ini, Anda dapat melihat macro saat dijalankan.
Merekam macro menggunakan VBA di Excel. Gif oleh Penulis.
Sekarang, jika Anda memiliki dataset lain di sheet lain dan menginginkan pemformatan yang sama pada dataset tersebut juga, alih-alih memformat semuanya lagi, tekan tombol pintas yang Anda buat (dalam kasus saya, Ctrl+S). Jika tidak, buka sheet2 > tab Developer > Macros > Run untuk melakukannya secara manual.

Menggunakan macro Excel. Gif oleh Penulis.
Mengedit macro Excel
Setelah merekam macro, Anda bahkan dapat menyesuaikan tindakannya. Caranya:
- Buka tab Developer dan klik Visual Basics.
- Editor VBA akan muncul. Sekarang, di Project Explorer, cari workbook tempat macro Anda disimpan.
- Perluas folder Modules, lalu klik ganda module yang berisi macro Anda. Jendela kode akan menampilkan kode VBA dari macro yang direkam.

Kode macro yang direkam di Excel. Gambar oleh Penulis.
Setiap baris kode menunjukkan tindakan yang Anda lakukan saat perekaman. Dari sini, Anda dapat memodifikasi kode yang direkam untuk menyesuaikan macro sesuai pilihan Anda. Dalam kasus saya, saya mengatur Selection.Font.Bold menjadi False untuk menghapus pemformatan tebal. Setelah selesai mengedit, simpan perubahan dengan mengklik tombol simpan atau tekan Ctrl+S dan Run kode untuk menerapkan perubahan. 
Menyesuaikan macro Excel VBA. Gambar oleh Penulis.
Setelah menjalankan macro, Anda dapat melihat hasilnya — kolom yang sebelumnya tebal kini tidak lagi tebal.

Menggunakan macro di Excel. Gambar oleh Penulis
Menulis macro Excel kustom
Ada beberapa tugas lanjutan yang tidak dapat direkam sebagai macro. Dalam kasus seperti itu, Anda harus menulis macro dari nol. Misalnya, saya ingin menyalin data dari satu worksheet ke worksheet lain. Berikut cara saya menulis macro kustom:
- Buka editor VBA secara manual di sheet pertama atau tekan Alt+F11.
- Sisipkan module baru.
- Tulis kode berikut di panel kode.
Sub CopyData()
Sheets("Sheet1").Range("B1:E21").Copy Destination:=Sheets("Sheet2").Range("B1")
End Sub
- Simpan macro dan klik Run.
Sekarang, Anda dapat melihat bahwa data dari Sheet1 telah disalin ke Sheet2.

Menulis macro kustom menggunakan VBA. Gif oleh Penulis.
Penutup
Mulai dari mengotomatiskan tugas berulang hingga membuat macro yang kompleks, VBA membuka banyak kemungkinan di dalam Excel. Seiring Anda makin nyaman dengan dasar-dasarnya, latihlah menulis kode dan perlahan jelajahi fitur-fitur VBA yang lebih canggih. Ingat, kunci untuk menguasai VBA—atau bahasa pemrograman apa pun—adalah latihan konsisten dan kemauan untuk bereksperimen. Untuk lebih meningkatkan keterampilan, pertimbangkan menjelajahi sumber daya tambahan ini. Kursus Data Analysis in Excel dan Learn Excel sangat baik untuk mempelajari lebih jauh fitur-fitur Excel.
Jika Anda ingin memperluas pengetahuan pemrograman melampaui VBA, panduan How to Become a Programmer in 2024 menawarkan peta jalan. Silakan cek jika Anda tertarik di bidang ini. Selain itu, kursus Financial Modeling in Excel sangat cocok bagi yang berminat membuat model keuangan terperinci.
Saya seorang ahli strategi konten yang senang menyederhanakan topik kompleks. Saya telah membantu perusahaan seperti Splunk, Hackernoon, dan Tiiny Host membuat konten yang menarik dan informatif untuk audiens mereka.
Pertanyaan Umum Seputar VBA Excel
Apa tujuan dari statement Explicit di VBA?
Explicit membantu memastikan bahwa semua variable dideklarasikan secara eksplisit sebelum digunakan, sehingga mengurangi bug dan membuat kode Anda lebih mudah dipelihara.
Bagaimana cara memberi kata sandi pada kode VBA saya?
Anda dapat melindungi kode VBA dengan membuka VBA editor > Tools > VBAProject Properties > tab Protection. Centang opsi Lock project for viewing dan atur kata sandi.
Apa perbedaan antara ActiveWorkbook dan ThisWorkbook di VBA?
ActiveWorkbook merujuk pada workbook yang sedang aktif, yang mungkin tidak berisi kode VBA. Thisworkbook merujuk pada workbook tempat kode VBA berada, terlepas dari workbook mana yang aktif.
Apa itu UserForms di VBA, dan bagaimana cara menggunakannya?
UserForms adalah kotak dialog kustom di VBA yang memungkinkan pengguna memasukkan data. Ini dapat digunakan untuk membuat formulir interaktif untuk entri data, pemilihan, atau interaksi pengguna yang memerlukan antarmuka kustom.

