Format perulangan For…..Next adalah
For counter=startNumber to endNumber (Step Peningkatan)
Satu atau lebih pernyataan VB
Next
Untuk mengendalikan alur program VBA secara efektif, Pada materi kedua ini, kita juga dapat menggunakan pernyataan perulangan bersama dengan operator kondisional dan operator logika
Perulangan merupakan fitur Excel VBA yang sangat berguna karena memudahkan pekerjaan berulang. Ada dua jenis perulangan dalam VB, yaitu perulangan For.......Next dan perulangan Do...
Contoh :
Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut.
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To 10
Cells(i, 1).Value = i
Next
End Sub
Saat Anda mengeklik tombol tersebut, program VBA akan mengisi sel (1,1) dengan nilai 1, sel (2,1) dengan nilai 2, sel (3,1) dengan nilai 3... hingga sel (10,1) dengan nilai 10. Posisi setiap sel dalam lembar kerja Excel direferensikan dengan sel (i,j), di mana i mewakili baris dan j mewakili kolom.
Mari kita ulangi dengan contoh berikut.
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To 15 step 2
Cells(i, 1).Value = i
Next
End Sub
Pada contoh ini, digunakan step increment. Di sini, nilai i bertambah 2 setelah setiap loop. Oleh karena itu, program VBA akan mengisi sel-sel alternatif setelah setiap loop. Saat Anda mengklik tombol perintah, sel (1, 1) akan diisi dengan nilai 1, sel (2, 1) tetap kosong, sel (3, 1) diisi dengan nilai 3, dan seterusnya.
Pada contoh sebelumnya, perulangan For…Next hanya akan mengisi nilai melalui satu kolom atau satu baris saja. Untuk dapat mengisi rentang nilai di seluruh baris dan kolom, kita dapat menggunakan perulangan bersarang, atau perulangan di dalam perulangan.
Perhatikan contoh berikut.
Contoh :
Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut.
Private Sub CommandButton1_Click ()
Dim i, j As Integer
For i = 1 To 10
For j = 1 To 5
Cells (i, j).Value = i + j
Next j
Next i
End Sub
Pada contoh ini, ketika i=1, nilai j akan berulang dari 1 hingga 5 sebelum menuju ke nilai i berikutnya, di mana j akan berulang dari I hingga 5 lagi. Perulangan akan berakhir ketika i=10 dan j=5. Dalam proses tersebut, ia menjumlahkan nilai i dan j yang sesuai.
Berikut adalah penghitung VBA sederhana yang dapat menghitung jumlah kelulusan dan jumlah kegagalan untuk daftar nilai yang diperoleh siswa dalam ujian. Program ini juga membedakan kelulusan dan kegagalan dengan warna biru dan merah. Mari kita periksa kode berikut ini.
Private Sub CommandButton1_Click()
Dim i, counter As Integer
For i = 1 To 20
If Cells(i, 2).Value > 50 Then
counter = counter + 1
Cells(i, 2).Font.ColorIndex = 5
Else
'tidak melakukan apa pun
Cells(i, 2).Font.ColorIndex = 3
End If
Next i
Cells(21, 2).Value = counter
Cells(22, 2).Value = 20 - counter
End Sub
Program ini menggabungkan pernyataan For..Next dan If ...Then...Else untuk mengendalikan alur program. Jika nilai dalam sel tersebut lebih dari 50, nilai penghitung akan dinaikkan sebesar 1 dan warna font diubah menjadi biru (colorIndex = 5), jika tidak, penghitung tidak akan bertambah dan warna font diubah menjadi merah (ColorIndex = 3).