Pada seri panduan VBA Dasar sebelumnya kelas excel sudah membahas tentang langkah-langkah membuat Sub Procedure pada VBA Excel. Pada seri ini kita akan belajar tentang cara menjalankan atau memanggil Sub Procedure yang telah kita buat.
Hal ini menjadi penting sebab jika kita tidak tahu bagaimana cara menjalankan sebuah Sub Procedure, maka kode macro excel yang telah kita buat untuk tujuan tertentu tentunya menjadi tidak berguna.
Namun sebelum itu perlu anda ketahui bahwa dalam istilah pemrograman menjalankan sebuah Sub Procedure biasa juga disebut dengan istilah Execute, Run atau Call yang kalau saya bahasakan Indonesia kurang lebih artinya mengeksekusi, menjalankan atau memanggil. Ketiga istilah ini dalam pembahasan kita mengacu pada maksud yang sama, yakni membuat sebuah kode macro menjalankan aktifitas tertentu sesuai yang diperintahkan.
Pada VBA Excel ada beragam cara yang bisa anda lakukan untuk mengeksekusi, menjalankan atau memanggil Sub Procedure. Pada tutorial VBA ini akan dijelaskan setidaknya 9 alternatif cara yang bisa anda lakukan untuk menjalankan sebuah Prosedur Sub.
Cara Menjalankan Sub Procedure VBA Dari VBE (Visual Basic Editor)
Cara pertama untuk menjalankan Prosedur Sub adalah melalui VBE atau Visual Basic Editor secara langsung.
Meskipun bukan cara yang mungkin anda pilih saat sebuah macro atau kode VBA yang kompleks sudah jadi, namun cara ini merupakan cara yang tercepat dan akan sering anda butuhkan saat dalam proses penyusunan sub procedur. Menjalankan sub procedure dari VBE ini biasa digunakan untuk melakukan debugging atau menguji apakah Prosedur Sub yang anda buat sudah sesuai keinginan atau malah muncul error tertentu.
Langkah-langkahnya adalah sebagai berikut:
- Pastikan VBE (Visual Basic Editor) dalam kondisi aktif. Jika belum anda bisa membukanya dengan memilih menu Visual Basic yang berada pada TAB Developer -- Group Code atau cukup menggunakan Shortcut Alt + F11.
- Langkah selanjutnya silahkan posisikan cursor pada salah satu bagian dari Sub Procedure yang ingin anda jalankan.
- Jalankan Sub Procedure dengan memilih "Run Sub/UserForm" pada menu Run VBE atau cukup dengan menekan tombol F5 pada keyboard.
Cukup mudah bukan? toh cara ini sudah beberapa kali kami sampaikan pada seri-seri sebelumnya.
Cara Menjalankan Sub Procedure VBA Dari Kotak Dialog Macro
Cara yang kedua adalah menjalankan Sub Procedure menggunakan menu macros atau kotak dialog Macro yang bisa anda temukan pada Tab Developer Excel.
Cara ini bisa anda pilih dengan catatan bahwa sub prcedure yang akan anda jalankan tidak memiliki argument tertentu. Langkah-langkahnya adalah sebagai berikut:
- Pada Tab developer pilih menu Macro yang ada di group Code untuk mengaktifkan kotak dialog Macro. Alternatif lain anda bisa juga menggunakan Shortcut Alt + F8 untuk mengaktifkan kotak dialog Macro ini.
- Saat kotak dialog Macro sudah muncul, double klik pada nama prosedur yang ingin anda panggil atau silahkan pilih nama prosedur yang ingin anda jalankan kemudian pilih menu Run.
Sebagai catatan bahwa nama prosedur VBA yang muncul pada kotak dialog Macro ini hanya Prosedur yang memiliki scoope public. Procedur yang memiliki scope private atau berada dalam Addin Excel tidak akan muncul pada daftar Macro name. Mekipun demikian, jika anda memilih cara ini anda bisa mengetikkan nama procedure pada bagian Macro name kemudian klik Run.
Cara Menjalankan Sub Procedure VBA Dengan Shortcut
Jika mau anda bisa juga menjalankan Sub Procedure dengan shortcut atau pintasan keybord tertentu. Tentunya sebelum bisa dipakai anda harus menentukan dulu Shortcut apa yang akan anda gunakan.
Untuk menetapkan Shortcut pada sebuah prosedur VBA caranya adalah sebagai berikut:
- Aktifkan Kotak dialog Macro dengan Shortcut Alt + F8 atau pada tombol menu Macro seperti cara sebelumnya.
- Kemudian pilih salah satu nama procedure yang akan ada tetapkan shortcutnya dan klik atau pilih menu options.
- Saat kotak dialog Macro Options muncul, ketikkan huruf yang akan anda jadikan shortcut.
- Klik OK dan selesai.
Selain kombinasi Ctrl + Huruf anda bisa juga menggunakan Ctrl + Shift + Huruf untuk Shortcut prosedur ini.
Caranya saat mengetikkan huruf tekan juga tombol Shift. Misal jika anda ingin menggunakan Ctrl + Shift + K sebagai shortcut, saat tekan tombol Shift dan ketikkan huruf K pada bagian shortcut key secara bersamaan.
Cara Memanggil Sub Procedure Dari Procedure Lainnya
Kita juga dapat memanggil satu atau lebih sub procedure dari procedure lain.
Ada tiga metode yang bisa anda gunakan melalui cara ini.
Menggunakan Nama Sub Procedure
Cara yang paling lumrah digunakan adalah dengan langsung menuliskan baris kode yag berisi nama prosedur yang ingin anda panggil.
Misalnya pada sebuah modul saya membuat 3 prosedur sebagai berikut:
Option Explicit
Sub isiA1()
' Tulis di Sheet1 Range A1
Sheet1.Range("A1") = "Belajar Menjalankan Sub Prosedur VBA Excel"
End Sub
Sub isiA2()
'Tulis di Sheet1 Range A2
Sheet1.Range("A2") = "Kelas Excel"
End Sub
Sub isiA1A2()
'Memanggil prosedur isiA1
isiA1
'Memanggil prosedur isiA2
isiA2
End Sub
Perhatikan prosedur ketiga atau prosedur dengan nama isiA1A2, dimana prosedur tersebut memanggil 2 prosedur lain yakni prosedur isiA1 dan isiA2.
Menggunakan Call Statement
Metode ini mirip dengan sebelumnya hanya saja sebelum nama procedur tambahkan teks atau statement "Call". Berikut contoh sederhananya.
Option Explicit
Sub isiA1()
' Tulis di Sheet1 Range A1
Sheet1.Range("A1") = "Belajar Memanggil Sub Prosedur VBA Excel"
End Sub
Sub isiA2()
'Tulis di Sheet1 Range A2
Sheet1.Range("A2") = "Kelas Excel"
End Sub
Sub isiA1A2()
'Memanggil prosedur isiA1
Call isiA1
'Memanggil prosedur isiA2
Call isiA2
End Sub
Meskipun cara sebelumnya lebih simpel, namun tidak sedikit juga yang lebih menyukai cara ini. Sebab dengan menggunakan metode Call Statement ini saat membaca sebuah kode VBA yang mungkin sudah beratus-ratus baris maka kita dapat dengan jelas melihat bahwa sebuah baris kode sedang bermaksud memanggil prosedur lain.
Menggunakan Application.Run Method
Selain kedua metode sebelumnya anda bisa juga menggunakan Method Application.Run untuk memanggil sebuah prosedur VBA Excel.
Contohnya sebagai berikut:
Option Explicit
Sub isiA1()
' Tulis di Sheet1 Range A1
Sheet1.Range("A1") = "Belajar VBA Excel"
End Sub
Sub isiA2()
'Tulis di Sheet1 Range A2
Sheet1.Range("A2") = "Kelas Excel"
End Sub
Sub isiA1A2()
'Memanggil prosedur isiA1
Application.Run "isiA1"
'Memanggil prosedur isiA2
Application.Run "isiA2"
End Sub
Lain waktu akan kita bahas tersendiri tentang metode terakhir dengan Application.Run Method ini.
Cara Memanggil Sub Procedure Dari Ribbon Excel
Kelas excel sudah pernah membahas pada laman tersendiri tentang ribbon excel ini. Dimana salah satu pembahasannya adalah tentang bagaimana menambahkan menu-menu tertentu yang secara default tidak ditampilkan.
Selain menu-menu excel standart, kita juga bisa menambahkan tombol panggil untuk menajalankan sebuah prosedur VBA. Caranya adalah sebagai berikut:
- Klik kanan bagian manapun pada ribbon excel kemudian pilih menu "Customize the Ribbon".
- Setelah opsi Customize the Ribbon muncul, buatlah sebuah custom group baru sebagai wadah atau tempat meletakkan menu pemanggil prosedur.
- Selanjutnya pada bagian dropdown "Choose commands from" dan pilih menu "Macros".
- Kemudian anda tinggal memilih prosedur mana yang akan adan tambahkan pada ribbon excel dengan klik menu Add dan OK untuk menyelesaikan
Cara Memanggil Sub Procedure Dari Quick Access Toolbar
Selain pada bagian Ribbon Excel anda juga bisa menambhakan tombol pemanggil sub prosedur VBA pada "Quick Access Toolbars (QAT)". Tentang QAT bisa anda pelajari lebih jauh pada halaman berikut: Quick Access Toolbar Pada Microsoft Excel
Langkah-langkah untuk menambahkan menu atau tombol pemanggil prosedur pada QAT adalah sebagai berikut:
- Klik kanan pada Ribbon atau QAT, kemudian pilih menu "Customize Quick Access Toolbar".
- Setelah opsi Customize the Quick Access Toolbars muncul, pada bagian dropdown "Choose commands from" dan pilih menu "Macros".
- Selanjutnya anda tinggal memilih prosedur mana yang akan adan tambahkan pada ribbon excel dengan klik menu Add dan OK untuk mengakhiri
Cara Menjalankan Sub Procedure VBA Saat Terjadi Event/Aktifitas Tertentu
Sub procedure pada VBA Excel juga bisa dipanggil atau dijalankan secara otomatis saat terjadi sebuah event tertentu.
Event atau aktifitas disini misalnya saat kita membuka sebuah workbook, pada saat worksheet tertentu aktif, ketika sebuah sel aktif dan lain sebagainya.
Pembahasan mengenai hal ini akan cukup panjang sehingga akan kita ulas pada halaman tersendiri lain waktu.
Berikut contoh sebuah prosedur sub yang akan aktif dijalankan saat event tertentu.
Option Explicit
Private Sub Worksheet_Activate()
MsgBox "Anda Berada di Sheet1"
End Sub
Private Sub Worksheet_Deactivate()
MsgBox "Anda Berpindah dari Sheet1 ke Sheet lain"
End Sub
Jika anda ingin mencobanya taruh kode vba di atas pada module Sheet1 kemudian coba dengan berpindah antar sheet.
Cara Menjalankan Sub Procedure dari Immediate Window VBE
pada seri pembahasan VBE sudah dijelaskan bagaimana cara menampilkan dan menyembunyikan "Immedite Window". Jadi saya rasa tidak perlu lagi menjelaskan bagaimana menampilkan immediate window pada VBE (Visual Basic Editor) Excel.
Untuk menjalankan sebuah prosedur sub melalui "Immediate Window" caranya cukup mudah. Ketik saja nama prosedur yang akan dipanggil kemudian tekan ENTER.
Cara Menjalankan Sub Procedure VBA Menggunakan Tombol atau Objek Lain
Selain cara-cara di atas salah satu cara yang umum digunakan untuk memanggil serta menjalankan sebuah sub procedur adalah dengan menggunakan tombol tertentu.
Tombol yang umum dipakai bisa anda buat dari menu Button pada form controls atau activeX Controls. Anda bisa juga memanggil sub procedure dari objek-objek excel semisal shapes, text boxes, clip art, SmartArt, WordArt, charts dan pictures.
Cara menggunakannya relatif mudah sebagai berikut:
- Sisipkan button atau objek yang anda kehendaki.
- Atur posisi, layout dan tampilan dari button atau objek excel tersebut.
- Selanjutnya klik kanan pada tombol yang telah anda buat dan pilih menu "Assign Macro".
- Berikutnya akan muncul kotak dialog Assign Macro.
- Tentukan procedure mana yang akan dipilih saat tombol tersebut di klik kemudian pilih OK.
- Anda juga bisa membuat Sub Procedure baru dengan Klik menu "New" atau pilih menu "Record" untuk merekam aktifitas baru yang akan menghasilkan sebuah sub procedure baru.
Dari 9 cara memanggil atau menjalankan sub procedure diatas, cara mana yang belum pernah anda gunakan?
Terakhir saya yakin anda cukup bijak memiih dan menentukan cara mana yang anda anggap pas dan sesuai kebutuhan. Jika masih ada yang kurang jelas jangan ragu untuk bertanya di kotak komentar yang tersedia. Serta jangan ragu untuk share artikel tutorial VBA excel ini sehingga akan lebih banyak teman-teman anda yang mendapatkan manfaatnya.