KONTROL PROGRAM
Pesan:
MsgBox "Nama worksheet sudah ada"
ActiveSheet.delete
End Sub
Jika Macro dijalankan, maka akan dibuah worksheet dengan nama Sheet1.
Macro akan error jika sudah ada worksheet dengan nama Sheet1. Jika hal
tersebut terjadi, maka Macro akan menampilkan kotak pesan “Nama
worksheet sudah ada”.
145
Gambar 9.1 Nama worksheet sudah ada.
End Sub
9.2.1 If…Then
Pernyataan If…Then memungkinkan Anda untuk menjalankan sebuah
statement atau beberapa statement apabila suatu kondisi terpenuhi. Format
kode Macro untuk pernyataan If…Then adalah sebagai berikut:
If Kondisi Then
Statement
End If
End Sub
Setelah Macro IfThen dijalankan, muncul kotak input Masukkan Angka
seperti terlihat pada Gambar 9.3.
147
Gambar 9.3 Kotak input Masukkan Angka.
Masukkan data angka tertentu pada kotak input. Jika data yang dimasukkan
lebih kecil atau sama dengan 75, maka statement untuk menampilkan kotak
pesan tidak akan dijalankan. Namun jika data yang dimasukkan lebih besar
dari 75, maka statement untuk menampilkan kotak pesan akan dijalankan.
9.2.2 If…Then…Else
Pernyataan If…Then…Else digunakan untuk mendefinisikan beberapa blok
statement yang akan dijalankan salah satu berdasarkan kondisi yang
memenuhi syarat. Format kode Macro untuk pernyataan If…Then…Else
adalah sebagai berikut:
If Kondisi1 Then
Statement1
Statement2
Else
148
Statement3
End If
VBA pada awalnya akan menguji Kondisi1. Jika Kondisi1 terpenuhi, maka
Statement1 akan dijalankan. Apabila tidak terpenuhi, maka VBA akan
menguji Kondisi2 dan seterusnya sampai ditemukan suatu kondisi yang
memenuhi syarat untuk menjalankan Statement. Berikut contoh Macro
penggunaan pernyataan If…Then…Else:
Sub IfThenElse()
End Sub
Setelah Macro IfThenElse dijalankan, muncul kotak input Masukkan Angka
seperti terlihat pada Gambar 9.3. Jika data yang dimasukkan lebih kecil dari
50, maka ditampilkan kotak pesan Nilai Kurang seperti terlihat pada Gambar
9.5.
Jika data yang dimasukkan antara 50 sampai dengan 75, maka ditampilkan
kotak pesan Nilai Cukup seperti terlihat pada Gambar 9.6.
149
Gambar 9.6 Kotak pesan Nilai Cukup.
Jika data yang dimasukkan lebih besar dari 75, maka ditampilkan kotak pesan
Nilai Bagus seperti terlihat pada Gambar 9.7.
Jika data yang dimasukkan tidak memenuhi salah satu kondisi yang
disyaratkan (misalnya Anda memasukkan data bukan angka), maka
ditampilkan kotak pesan Nilai Salah seperti terlihat pada Gambar 9.8.
150
9.2.3 Select Case
Pernyataan Select Case digunakan untuk menguji sebuah Ekspresi pada
setiap pernyataan Select Case. Format kode Macro untuk pernyataan Select
Case adalah sebagai berikut:
Select Case Ekspresi
Case Ekspresi1
Statement1
Case Ekspresi2
Statement2
Case Ekspresi3
Statement3
End Select
Apabila ada Ekspresi yang sesuai dengan dengan nilai pada suatu Case, maka
Statement dalam Case tersebut yang akan dijalankan. Berikut contoh Macro
penggunaan pernyataan Select Case:
Sub SelectCase()
End Sub
151
9.3 Struktur Pengulangan
Struktur pengulangan dalam VBA adalah sebuah struktur yang menjalankan
beberapa statement secara berulang-ulang. VBA mempunyai 3 jenis struktur
pengulangan, yaitu Do…Loop, For…Next, While…Wend dan For
Each…Next.
9.3.1 Do…Loop
Struktur pengulangan Do…Loop digunakan untuk menjalankan satu atau
beberapa pernyataan jika kondisi benar atau hingga suatu kondisi tersebut
menjadi benar. Kata kunci untuk struktur pengulangan yang menjalankan
statement jika kondisi benar adalah While. Format kode Macro struktur
Do…Loop dengan kata kunci While adalah sebagai berikut:
Do While Kondisi
Statement
Loop
Statement
Loop
End Sub
152
Setelah Macro TanggalBulanIni1 dijalankan pada awalnya akan
dimasukkan tanggal 1 pada bulan dan tahun ini pada sel aktif. Sel
dibawahnya kemudian akan diisi tanggal 2 dan seterusnya sampai tanggal 31.
Ketika akan masuk pada tanggal 1 September program akan dihentikan
karena data yang dimasukkan adalah tanggal khusus untuk bulan Agustus.
End Sub
153
9.3.2 For…Next
Struktur pengulangan For…Next digunakan untuk menjalankan satu atau
beberapa statement dengan frekwensi pengulangan yang telah ditentukan.
Struktur pengulangan For…Next digunakan untuk kondisi yang mempunyai
nilai berurutan dan variabelnya mempunyai nilai numerik. Format kode
Macro struktur For…Next adalah sebagai berikut:
For Variabel = NilaiAwal To NilaiAkhir
Statement
Next Variabel
Statement
Next Variabel2
Next Variabel1
For Data = 1 To 10
Cells(Data, 1).Value = Data
Next Data
End Sub
Setelah Macro IsiData dijalankan, maka range A1:A10 akan terisi data seperti
terlihat pada Gambar 9.10.
154
Gambar 9.10 Penggunaan struktur pengulangan For…Next.
For Data1 = 1 To 10
For Data2 = 1 To 10
Cells(Data1, Data2).Value = Data1 * Data2
Next Data2
Next Data1
End Sub
Setelah Macro IsiData1Sampai100 dijalankan, maka range A1:J10 akan terisi
data seperti terlihat pada Gambar 9.11.
Statement
Wend
Apabila kondisi benar, maka semua statement akan dijalankan dan ketika
mencapai baris Wend, kontrol akan kembali lagi ke baris While untuk
melakukan evaluasi kembali nilai dari kondisi. Apabila nilai kondisi masih
memenuhi syarat atau benar maka proses pengulangan akan terjadi lagi
sampai kondisinya salah. Apabila kondisi salah, maka program akan
dihentikan oleh Wend. Berikut contoh Macro penggunaan struktur
pengulangan While…Wend:
Sub TanggalBulanIni3()
End Sub
Statement
Next Elemen
156
Berikut contoh Macro struktur pengulangan For Each…Next untuk mengatur
tampilan ukuran seluruh worksheet dalam workbook aktif menjadi 50%:
Sub TampilanSeluruhWorksheet50Persen()
End Sub
9.4 End
Statement End dipakai untuk memaksa kontrol program berhenti dari suatu
Sub Procedure, Function Procedure, ekspresi If atau deklarasi With.
Worksheets.Add
End Sub
157
9.4.2 End Function
End Function digunakan untuk mengakhiri sebuah Function Procedure.
Perhatikan contoh berikut ini:
Function LUAS(panjang, lebar)
End Function
9.4.3 End If
End If digunakan untuk mengakhiri penggunaan ekpresi If.
Sub Nilai()
End Sub
Range("D6:F6").Font.Bold = True
Range("D6:F6").Font.Italic = True
End Sub
Contoh Sub Procedure berikut ini juga akan menghasilkan perintah yang
sama dengan Sub Procedure di atas:
Sub FormatFont1()
Range("D6:F6").Select
With Selection.Font
.Bold = True
.Italic = True
End With
End Sub
158