Di dalam bahasa pemrograman VBA yang luas, terdapat beberapa fitur yang sering kali terabaikan atau kurang dimanfaatkan, dan salah satu di antaranya adalah pernyataan SWITCH yang sering kali terlupakan.
Dalam materi kali ini, kita akan membahas bagaimana menggunakan SWITCH dalam VBA dan bagaimana perintah ini dapat memberikan peningkatan produktivitas yang signifikan.
Meskipun belum begitu populer seperti fitur lainnya, SWITCH adalah fungsi yang sangat bagus dan fleksibel yang dapat membantu kita menangani logika percabangan dengan cara yang jauh lebih bersih dan terorganisir.
Dalam materi ini, kita akan membahas berbagai aspek dari pernyataan SWITCH, termasuk sintaksis dasar, cara mengimplementasikannya dalam skenario yang berbeda, dan bagaimana memanfaatkannya secara optimal untuk meningkatkan kinerja kode VBA kita.
Kita juga akan mengeksplorasi beberapa contoh penggunaan praktis dari SWITCH yang dapat memberikan wawasan langsung tentang potensi dan kegunaannya.
sintak dasar Switch
Switch(expression1, value1, expression2, value2, ..., expression_n, value_n)
Di sini, expression1
, expression2
, dan seterusnya adalah ekspresi yang dievaluasi. Jika ekspresi tersebut benar, fungsi akan mengembalikan nilai yang terkait dengannya (yaitu value1
, value2
, dan seterusnya).
Pada materi sebelumnya, kita sudah belajar bagaimana menggunakan Select Case
. Misalnya jika ingin menampilkan nama hari berdasarkan Index jika notasinya ditulis dalam bentuk select case maka hasil scriptnya menjadi
Dim hari As Integer hari = 3 Select Case hari Case 1 MsgBox "Minggu" Case 2 MsgBox "Senin" Case 3 MsgBox "Selasa" Case 4 MsgBox "Rabu" Case 5 MsgBox "Kamis" Case 6 MsgBox "Jumat" Case 7 MsgBox "Sabtu" Case Else MsgBox "Nomor hari tidak valid!" End Select
Ketika script diatas diubah ke Switch maka scriptnya bisa diubah menjadi
Dim hari As Integer hari = 3 MsgBox Switch( _ hari = 1, "Minggu", _ hari = 2, "Senin", _ hari = 3, "Selasa", _ hari = 4, "Rabu", _ hari = 5, "Kamis", _ hari = 6, "Jumat", _ hari = 7, "Sabtu", _ True, "Nomor hari tidak valid!")