Selain perulangan For........Next, boleh juga dengan metode perulangan lain yang dikenal sebagai Perulangan Do. Ada empat cara untuk menggunakan Perulangan Do seperti yang ditunjukkan di berikut ini:
Formatnya adalah
1)
Do While condition
Satu atau lebih Blok pernyataan VB
Loop
2)
Do
Satu atau lebih Blok pernyataan VB
Loop While condition
3)
Do Until condition
Satu atau lebih Blok pernyataan VB
Loop
4)
Do
Satu atau lebih Blok pernyataan VB
Loop Until condition
Contoh :
Tempatkan tombol perintah pada lembar kerja Anda dan tambahkan baris kode berikut.
Private Sub CommandButton1_Click()
Dim counter As Integer
Do
counter = counter + 1
Cells(counter, 1) = counter
Loop While counter < 10
End Sub
Pada contoh ini, program akan terus menambahkan 1 ke nilai penghitung sebelumnya selama nilai penghitung tersebut kurang dari 10. Program akan menampilkan 1 di sel (1,1), 2 di sel (2,1)….. hingga 10 di sel (10,1).
Mari kita ulangi dengan contoh berikut, namun menggunakan until.
Private Sub CommandButton1_Click()
Dim counter As Integer
Do Until counter = 10
counter = counter + 1
Cells(counter, 1) = 11 - counter
Loop
End Sub
Pada contoh ini, program akan terus menambahkan 1 ke nilai penghitung sebelumnya hingga nilai penghitung mencapai 10. Program akan menampilkan 10 di sel (1, 1), 9 di sel (2, 1)….. hingga 1 di sel (10,1).
Mari kita ulangi lagi dengan contoh program penjumlahan dengan membentuk tabel yang terdiri dari kolom X, kolom Y, dan kolom X+Y.
Private Sub CommandButton1_Click()
Dim counter, sum As Integer
'Untuk mengatur perataan ke tengah
Range("A1:C11").Select
With Selection
.HorizontalAlignment = xlCenter
End With
Cells(1, 1) = "X"
Cells(1, 2) = "Y"
Cells(1, 3) = "X+Y"
Do While counter < 10
counter = counter + 1
Cells(counter + 1, 1) = counter
Cells(counter + 1, 2) = counter * 2
sum = Cells(counter + 1, 1) + Cells(counter + 1, 2)
Cells(counter + 1, 3) = sum
Loop
End Sub
Pada Contoh ini, program akan menampilkan nilai X di sel (1,1) hingga sel (11,1). Nilai Y ditampilkan di kolom 2, yaitu dari sel (2,1) hingga sel (2,11). Terakhir, program akan menampilkan nilai X+Y di kolom 3, yaitu dari sel (3,1) hingga sel (3,11).