Kondisional dan Pengulangan dalam VBA Excel ~ Matematika Akuntansi -->

Wednesday, November 11, 2020

Kondisional dan Pengulangan dalam VBA Excel

Seiring dengan perkembangan zaman, sudah tidak bisa dipungkiri lagi bahwa komputer adalah suatu mesin yang dapat mempermudah pekerjaan manusia. Khusunya dalam bidang perkantoran sangat terbantu sekali dengan kehadiran komputer.

Kehebatan komputer tentu tidak semata-mata bisa canggih dengan sendirinya. Komputer bisa melakukan sesuatu yang luar biasa dikarenakan bahasa-bahasa pemerograman yang dibuat sebelumnya.

Salah satu produk hebat komputer yang terbuat dari bahasa pemrograman yang canggih adalah aplikasi Ms. Excel. Aplikasi Ms. Excel ini dilengkapi dengan fitur-fitur yang dapat mempermudah pekerjaan manusia. Salah satu fitur hebat tersebut adalah VBA Ms. Excel. Dalam VBA Excel kita bisa membuat suatu macro. Untuk membuat suatu macro tentu kita harus faham tentang coding script VBA Excel.


Kali web Matematika Akuntansi akan berbagi ilmu tentang coding kondisional dan pengulangan dalam VBA Excel.

Pengertian Kondisional dalam VBA Excel

Kondisional adalah pengontrol yang berguna untuk mengalihkan program ke proses tertentu. Kondisional digunakan untuk membuat pencabangan struktur suatu program. Dengan memanfaat kondisional, kita bisa memblock program yang akan dijalankan jika memenuhi sebuah kondisi dan memblock yang tidak akan dijalankan apabila tidak memenuhi kondisi lainnya.

Pengertian Pengulangan dalam VBA Excel

Pengulangan dalam VBA Excel adalah suatu perintah yang dihasilkan dari script program VBA Excel untuk membuat bagian tertentu dari block program, agar dilakukan terus-menerus dan berulan-ulang jika masih berada dalam kondisi True dan berhenti apabila kondisi sudah False.

Berikut adalah coding kondisional dan pengulangan VBA Excel, diantaranya adalah :

A. Kondisional :
A1. If-Then;
A2. Select Case;
A3. GoTo.
B. Pengulangan :
B1. For-Next;
B2. Do-While;
B3. Do-Until.

A1. Coding Script If-Then VBA Excel

Script If-Then adalah script VBA yang dapat mengeksekusi secara bersyarat sekelompok pernyataan yang bergantung pada nilai suatu ekspresi.

Syntax If-Then VBA Excel

Ada dua jenis syntax dari If-Then, diantaranya adalah :
  • Multiline
  • Singel-line

Multiline Syntax If-Then VBA Excel

If condition [ Then ]
    [ statements ]
[ ElseIf elseifcondition [ Then ]
    [ elseifstatements ] ]
[ Else
    [ elsestatements ] ]
End If

Single-line Syntax If-Then VBA Excel

If condition Then [ statements ] [ Else [ elsestatements ] ]

Keterangan :
  • condition adalah suatu ekspresi yang harus mengevaluasi ke True atau False;
  • statements adalah satu atau lebih pernyataan berikut yang dijalankan jika condition bernilai True;
  • elseIf elseifcondition adalah suatu ekspresi yang harus mengevaluasi ke True atau False jika ada ElseIf;
  • elseifstatements adalah satu atau lebih pernyataan setelah ElseIf ... Then yang akan dieksekusi jika elseifcondition bernilai True;
  • elsestatements adalah satu atau lebih pernyataan yang dijalankan jika tidak ada kondisi sebelumnya atau ekspresi kondisi lain yang mengevaluasi ke True;
  • End If adalah script yang berfungsi untuk menghentikan versi multiline dari blok If ... Then ... Else.

Contoh Script Coding If-Then VBA Excel

Sub Login()
    Dim Password As String
    Password = InputBox("Isi Password")
        If Password = "pajarsidik" Then
            MsgBox "Password anda benar"
        Else
            MsgBox "Password anda salah"
        End If
End Sub


Penjelasan :
Script tersebut berisi perintah untuk mengisi password pada Input Box. Password telah disetting dengan password yang benar adalah “pajarsidik”. Jika input box diisi dengan "pajarsidik" maka akan menghasilkan kotak pesan dengan dengan isi pesannya adalah Password anda benar dan jika diisi selain pajarsidik maka akan muncul kotak pesan yang berisi Password anda salah

A2. Coding Script Select Case VBA Ms. Excel

Select case adalah script VBA Excel yang berfungsi untuk menjalankan salah satu dari beberapa grup pernyataan yang bergantung pada nilai ekspresi.
 

Syntax Select Case VBA Excel

Select Case testexpression
    [ Case expressionlist-n [ statements-n ]]
    [ Case Else [ elsestatements ]]
End Select

Keterangan :
  • testexpression adalah suatu ekspresi numerik atau ekspresi string apa pun;
  • expressionlist-n adalah daftar yang dipisahkan dari satu atau lebih bentuk berikut ekspresi, ekspresi ke expresi, ekspresi Iscomparisonoperator;
  • statements-n adalah satu atau lebih pernyataan yang dijalankan jika testexpression cocok dengan bagian manapun dari expressionlist-n;
  • elsestatements adalah satu atau beberapa pernyataan dijalankan jika testexpression tidak cocok dengan expresi mana pun.

Contoh Script Coding Select Case VBA Excel

Sub PilihKejadian()
    Dim Jumlah As Integer
    Dim Potongan As Double
    Dim Harga As Integer
    Jumlah = InputBox("Isi jumlah pembelian")
    Harga = 10000
        Select Case Jumlah
            Case 0 To 20
                Potongan = 0.1
            Case 21 To 40
                Potongan = 0.2
            Case 41 To 60
                Potongan = 0.3
            Case 61 To 80
                Potongan = 0.4
            Case 81 To 100
            
    Potongan = 0.5
        End Select
            MsgBox "Anda mendapat potongan senilai " & "Rp." & Potongan * Harga * Jumlah
End Sub

Penjelasan :
Contoh script di atas adalah berisi perintah untuk mengisi input box dengan jumlah pembelian dengan ketentuan :
  • Beli 01 sampai 20 mendapat diskon 10%
  • Beli 21 sampai 40 mendapat diskon 20%
  • Beli 41 sampai 60 mendapat diskon 30%
  • Beli 61 sampai 80 mendapat diskon 40%
  • Beli 81 sampai 100 mendapat diskon 50%
Jika input box sudah diisi, maka akan menampilkan kotak pesan dengan kalimat Anda mendapat potongan senilai Rp. Potongan * Harga * Jumlah.
Jika script dijalankan dan input box disi dengan 90, maka akan menghasilkan hasil seperti gambar di bawah ini :
 

Hasilnya :


A3. Coding Script GoTo VBA Ms. Excel

GoTo adalah script yang berfungsi untuk melompat ke bagian lain dalam script. GoTo akan melompat ke block script tertentu apabila ada kondisi yang bernilai True.

Syntax GoTo VBA Excel

 GoTo line

Keterangan :
  • Line Argument yang dibutuhkan dapat berupa Line Label atau bisa juga Line Number.

Contoh Script Coding If-Then VBA Excel

Sub Melompat()
    Dim Angka As Integer
    Angka = 1
        If Angka <> 1 Then GoTo Line
            MsgBox "Angka adalah satu"
    Exit Sub
Line:
    MsgBox "Angka bukan satu"
End Sub

Penjelasan :
Contoh diatas adalah perintah apabila Angka tidak sama dengan satu, maka akan melompat ke Line dan jika tidak, maka akan menampilkan kotak pesan yang berisi “Angka adalah satu”.

B1. Coding Script For-Next VBA Excel;

Scirpt coding For-Next adalah suatu script VBA Excel yang berfungsi untuk mengulangi sekelompok pernyataan beberapa kali.

Berikut ini adalah syntax dari script For-Next :

Syntax For-Next VBA Excel

For counter [ As datatype ] = start To end [ Step step ]
    [ statements ]
[ Continue For ]
    [ statements ]
[ Exit For ]
    [ statements ]
Next [ counter ]

Keterangan :
  • counter  adalah variabel untuk mengontrol pengulangan (Dibutuhkan);
  • datatype adalah suatu tipe data dari counter (Pilihan);
  • start adalah nilai awal ekspresi counter (Dibutuhkan);
  • end adalah akhir ekspresi counter (Dibutuhkan) ;
  • step adalah jumlah penghitung counter setiap kali memulai pengulangan (Pilihan);
  • statements adalah satu atau lebih pernyataan antara For dan Next untuk menjalankan yang telah ditentukan (Pilihan);
  • Continue For adalah kontrol transfer ke pengeluangan selanjutnya (Pilihan);
  • Exit For adalah kontrol keluar dari pengulangan For (Pilihan);
  • Next adalah untuk menghentikan pengulangan For (Dibutuhkan).
Keterangan tambahan :
  • Maksud dari Dibutuhkan adalah harus ada pada script dan maksud dari Pilihan adalah boleh ada atau  boleh tidak ada pada script.

Contoh Script Coding For-Next VBA Excel

Sub Mebuatnomorurut()
    Dim x As Integer
        For x = 1 To 10
            Cells(x, 1).Value = x
        Next x
End Sub

Penjelasan :
Contoh di atas adalah contoh script VBA Excel yang akan menampilkan nomor urut 1 sampai dengan 10 pada range A1 sampai dengan A10. Untuk lebih jelasnya perhatkan gambar di bawah ini :


B2. Coding Script Do-While VBA Excel;

Script VBA Do-While adalah suatu script pengulangan dalam VBA Excel yang mengulangi suatu block dari suatu pernyataan selama kondisi masih True atau benar.
 
Berikut adalah syntax script Do-While :

Syntax Do-While VBA Excel

Do
    [ statements ]
[ Exit Do ]
    [ statements ]
Loop [{While} condition ]

Atau :

Do [{While} condition ]
    [ statements ]
[ Exit Do ]
    [ statements ]
Loop

Keterangan :
  • condition adalah suatu expresi numerik atau string yang bisa menghasilan nilai True atau False (Dibutuhkan);
  • statements adalah satu atau lebih pernyataan yang diulangi sementara atau sampai kondisinya True atau benar;
Keterangan tambahan :
  • Pernyataan Exit Do dapat ditempatkan di bagian mana saja script Do… Loop sebagai cara alternatif untuk keluar dari script Do… Loop.

Contoh Script Coding Do-While VBA Excel

Sub NomorUrut()
Dim x As Integer
    Do
        x = x + 1
        Cells(x, 1).Value = x
    Loop While (x < 10)
End Sub

Penjelasan :
Contoh script di atas adalah berisi perintah dengan hasil mengisi cell A1 sampai dengan A10 dengan nomor urut 1 sampai dengan 10. Kunci dari perintah di atas adalah variabel x dengan pengulangan variabel selama kurang dari 10. Hasil dari secript di atas apabila dijalankan adalah sebagai berikut :
 

B3. Coding Script Do-Until VBA Excel;

Script VBA Do-Until adalah suatu script pengulangan dalam VBA Excel yang mengulangi suatu block dari suatu pernyataan sampai dengan kondisi masih True atau benar.
 
Berikut adalah syntax script Do-Until :

Syntax Do-Until VBA Excel

Do
    [ statements ]
[ Exit Do ]
    [ statements ]
Loop [{Until} condition ]

Atau :

Do [{Until} condition ]
    [ statements ]
[ Exit Do ]
    [ statements ]
Loop

Keterangan :
  • condition adalah suatu expresi numerik atau string yang bisa menghasilan nilai True atau False (Dibutuhkan);
  • statements adalah satu atau lebih pernyataan yang diulangi sementara atau sampai kondisinya True atau benar;
Keterangan tambahan :
  • Pernyataan Exit Do dapat ditempatkan di bagian mana saja script Do… Loop sebagai cara alternatif untuk keluar dari script Do… Loop.

Contoh Script Coding Do-Until VBA Excel

Sub NomorUrut()
Dim x As Integer
    Do
        x = x + 1
        Cells(x, 1).Value = x
    Loop Until(x = 10)
End Sub

Penjelasan :
Contoh script di atas adalah berisi perintah dengan hasil mengisi cell A1 sampai dengan A10 dengan nomor urut 1 sampai dengan 10. Kunci dari perintah di atas adalah variabel x dengan pengulangan variabel sampai dengan 10. Hasil dari secript di atas apabila dijalankan adalah sebagai berikut :
 
 
Demikian artikel kali ini.
Mohon maaf apabila ada salah-salah kata.
Apabila ada yang ingin ditanyakan atau disampaikan, silahkan untuk menulis pada kolom komentar di bawah.
 
Referensi :
  • https://docplayer.info/amp/37827239-Bab-2-statement-statement-pada-vba-excel.html&ved=2ahUKEwjSv5mAi-nsAhUEeysKHbQwD4MQFjACegQIBhAB&usg=AOvVaw3__ma0jl1K4J63uED90nw-&ampcf=1
  • https://docs.microsoft.com/en-us/dotnet/visual-basic.
 
Salam,
Muhamad Pajar Sidik
President Director of (matematikaakuntansi.blogspot.com)
Email fajarmoehamad@gmail.com

Jika ingin bertanya secara privat, Silahkan hubungi no 085709994443 dan untuk berkomentar silahkan klick link di bawah ini 👇