ホーム > プログラミング入門 > Lesson9: 制御構造 Do Loop

制御構造 Do Loop
制御構造 Do Loop 制御構造 Do Loop
ループ処理(処理を繰り返す)です。
Do While 条件式
  処理
Loop

条件式を満たす間、処理を繰り返すということです。
成績表
「B3」から「B6」に番号(連番1〜4)を入力することにします。
フローチャートはこんな感じ。
フローチャート
「B3」に1、「B4」に2、「B5」に3、「B6」に4を入力したい...
入力したい番号を i とする。そのとき番号を入力したいセルは「B3」〜「B6」。
行番号が3から6までの間だから、i を使ってあらわすとセルは「B(i+2)」
 
i が 1〜4とき、番号を入力するというプログラムを作リます。
2004年8月
制御構造 Do Loop その2 制御構造 Do Loop その2
作ったプログラムは
Sub test_10()
  
  '制御構造 Do While Loop の勉強中
  
  Dim i As Integer
  i = 1
  
  Do While i <= 4
    Cells(i + 2, "B").Value = i
    i = i + 1
  Loop
  
End Sub

Do While i <= 4 で i が 4 以下の間、処理をします。
Cellsでセルを参照することができます。
Cells(行番号, 列番号)

Cells(i + 2, "B").Value = i でセルに番号 i を入力します。
i = i + 1 で i を 1 増やします。
そして、i が 4 以下ならもう一度番号の入力をします。
その繰り返しをします。
プログラムを実行すると
実行結果
「B3」から「B6」に番号(連番1〜4)が入力されました。

列番号 「列番号」
Cells(i + 2, "B") としましたが、列番号は"B"ではなく列を左から数えた数でもいいです。
つまり、Cells(i + 2, 2) です。
2004年8月
制御構造 Do Loop その3 制御構造 Do Loop その3
Do While ...Loop のとき、条件に当てはまるか判断して
当てはまれば処理をすることになります。
でも、先に一度処理をしてから条件判断するということもできます。
Do
  処理
Loop While 条件式

条件式を満たす間、処理を繰り返すということです。
Do While...Loop と違うのは必ず一度は処理するという点です。
フローチャートはこうなります。
フローチャート
プログラムは
Sub test_11()
  
  '制御構造 Do While Loop の勉強中
  
  Dim i As Integer
  i = 1
  
  Do
    Cells(i + 2, "B").Value = i
    i = i + 1
  Loop While i <= 4
  
End Sub

結果は、前のページを同じです。
2004年8月
制御構造 Do Loop その4 制御構造 Do Loop その4
Do While Loop は、条件に当てはまるとき処理をします。
条件に当てはまらないとき処理をするというものがあります。
Do Until 条件式
  処理
Loop

Do
  処理
Loop Until 条件式

フローチャート Do Until 条件式 処理 Loop フローチャート Do 処理 Loop Until 条件式
これはあまり使わない気がする...While あれば充分なので。
2004年8月