Pernyataan If...Then pada VBA Excel: Mengambil Keputusan dalam Program

Pendahuluan

Dalam pemrograman, sering kali kita perlu menjalankan perintah tertentu hanya jika suatu kondisi terpenuhi. Misalnya, menampilkan pesan ketika nilai lebih besar dari 70, memberi warna pada sel yang kosong, atau menghentikan proses jika data belum lengkap.

Di VBA (Visual Basic for Applications), pengambilan keputusan dilakukan menggunakan pernyataan If...Then. Struktur ini merupakan salah satu pernyataan yang paling sering digunakan karena memungkinkan program menentukan tindakan berdasarkan kondisi tertentu.

Artikel ini akan membahas pengertian, sintaks, operator perbandingan, berbagai bentuk penggunaan, serta contoh penerapan If...Then dalam VBA Excel.


Apa Itu Pernyataan If...Then?

Pernyataan If...Then digunakan untuk menjalankan suatu blok kode apabila kondisi yang ditentukan bernilai True (benar).

Jika kondisi bernilai False (salah), maka blok kode tersebut akan dilewati, kecuali terdapat bagian Else atau ElseIf.


Sintaks Dasar

If kondisi Then
    pernyataan
End If

Keterangan:

  • If : Memulai pengujian kondisi.

  • kondisi : Ekspresi logika yang menghasilkan nilai True atau False.

  • Then : Menandakan bahwa perintah berikutnya dijalankan jika kondisi benar.

  • End If : Mengakhiri blok If.


Contoh Sederhana

Sub ContohIf()

    Dim Nilai As Integer

    Nilai = 80

    If Nilai >= 75 Then
        MsgBox "Lulus"
    End If

End Sub

Karena nilai 80 lebih besar dari 75, maka akan muncul pesan:

Lulus

Bentuk Satu Baris (Single Line If)

Jika hanya terdapat satu perintah, If...Then dapat ditulis dalam satu baris.

If Range("A1").Value = "" Then MsgBox "Data masih kosong"

Cara ini cocok digunakan untuk kondisi yang sederhana.


Menggunakan If...Then...Else

Bagian Else digunakan ketika terdapat aksi yang harus dijalankan jika kondisi bernilai False.

Sintaks:

If kondisi Then
    pernyataan1
Else
    pernyataan2
End If

Contoh:

Sub StatusKelulusan()

    Dim Nilai As Integer

    Nilai = 60

    If Nilai >= 75 Then
        MsgBox "Lulus"
    Else
        MsgBox "Tidak Lulus"
    End If

End Sub

Karena nilai hanya 60, maka yang ditampilkan adalah:

Tidak Lulus

Menggunakan ElseIf

Jika terdapat lebih dari dua kemungkinan, gunakan ElseIf.

Sintaks:

If kondisi1 Then
    ...
ElseIf kondisi2 Then
    ...
Else
    ...
End If

Contoh penilaian:

Sub PredikatNilai()

    Dim Nilai As Integer

    Nilai = 85

    If Nilai >= 90 Then
        MsgBox "A"
    ElseIf Nilai >= 80 Then
        MsgBox "B"
    ElseIf Nilai >= 70 Then
        MsgBox "C"
    Else
        MsgBox "D"
    End If

End Sub

Hasilnya:

B

Operator Perbandingan

Berikut operator yang umum digunakan dalam kondisi If.

OperatorArtiContoh
= Sama dengan A = B
<> Tidak sama dengan A <> B
> Lebih besar Nilai > 70
< Lebih kecil Nilai < 70
>= Lebih besar atau sama dengan Nilai >= 75
<= Lebih kecil atau sama dengan Nilai <= 100

Operator Logika

VBA juga menyediakan operator logika untuk menggabungkan beberapa kondisi.

Operator And

Semua kondisi harus benar.

If Nilai >= 75 And Kehadiran >= 80 Then
    MsgBox "Lulus"
End If

Operator Or

Salah satu kondisi cukup benar.

If Jabatan = "Manager" Or Jabatan = "Supervisor" Then
    MsgBox "Hak Akses Diberikan"
End If

Operator Not

Membalik nilai logika.

If Not IsEmpty(Range("A1")) Then
    MsgBox "Data tersedia"
End If

Contoh Mengubah Warna Sel

Sub WarnaNilai()

    If Range("A1").Value < 60 Then
        Range("A1").Interior.Color = vbRed
    End If

End Sub

Jika nilai pada A1 kurang dari 60, maka warna latar belakang sel menjadi merah.


Contoh Memeriksa Sel Kosong

Sub CekData()

    If Range("B2").Value = "" Then
        MsgBox "Silakan isi data terlebih dahulu."
    End If

End Sub

Contoh Menggunakan Fungsi IsNumeric

Sub ValidasiAngka()

    If IsNumeric(Range("A1").Value) Then
        MsgBox "Data berupa angka"
    Else
        MsgBox "Data bukan angka"
    End If

End Sub

Contoh ini berguna untuk memvalidasi input pengguna sebelum dilakukan perhitungan.


Contoh Menggunakan If Bersarang (Nested If)

VBA memperbolehkan penggunaan If di dalam If.

Sub ContohNestedIf()

    Dim Nilai As Integer

    Nilai = 88

    If Nilai >= 75 Then

        If Nilai >= 90 Then
            MsgBox "Sangat Baik"
        Else
            MsgBox "Baik"
        End If

    Else
        MsgBox "Belum Lulus"
    End If

End Sub

Meskipun diperbolehkan, penggunaan If yang terlalu dalam sebaiknya dihindari karena dapat membuat kode lebih sulit dipahami.


Kesalahan yang Sering Terjadi

Lupa menuliskan End If

If Range("A1").Value > 0 Then
    MsgBox "Benar"

Kode di atas akan menghasilkan kesalahan karena blok If belum ditutup.

Penulisan yang benar:

If Range("A1").Value > 0 Then
    MsgBox "Benar"
End If

Salah menggunakan operator

Sering kali pemula menulis:

If Nilai => 75 Then

Padahal yang benar adalah:

If Nilai >= 75 Then

Terlalu Banyak If Bertingkat

Contoh berikut kurang disarankan:

If A Then
    If B Then
        If C Then
            ...
        End If
    End If
End If

Apabila terdapat banyak kondisi, penggunaan ElseIf atau Select Case sering kali membuat kode lebih mudah dibaca.


Kapan Menggunakan If...Then?

Gunakan If...Then ketika Anda ingin:

  • Memvalidasi input pengguna.

  • Membandingkan nilai.

  • Menentukan status berdasarkan kondisi tertentu.

  • Mengubah format sel secara otomatis.

  • Menampilkan pesan sesuai hasil pemeriksaan.

  • Menjalankan atau menghentikan proses berdasarkan suatu syarat.


Tips Penulisan

Agar kode lebih mudah dipelihara, ikuti beberapa praktik berikut:

  • Gunakan indentasi (tab atau spasi) di dalam blok If.

  • Pilih nama variabel yang jelas dan mudah dipahami.

  • Gunakan ElseIf jika memiliki beberapa kondisi yang saling berkaitan.

  • Hindari membuat terlalu banyak If bersarang.


Kesimpulan

Pernyataan If...Then merupakan dasar dari pengambilan keputusan dalam VBA Excel. Dengan struktur ini, program dapat menjalankan perintah yang berbeda sesuai kondisi yang terjadi, sehingga aplikasi menjadi lebih dinamis dan interaktif.

Selain bentuk dasar If...Then, VBA juga menyediakan Else, ElseIf, serta operator logika seperti And, Or, dan Not untuk menangani kondisi yang lebih kompleks. Menguasai pernyataan ini akan memudahkan Anda dalam membuat makro yang mampu memvalidasi data, mengotomatisasi proses, dan memberikan respons sesuai kebutuhan pengguna.

Pada artikel berikutnya, kita akan membahas Pernyataan Select Case, yaitu alternatif yang lebih rapi dan mudah dibaca ketika harus menangani banyak kondisi yang berbeda.

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.