よく利用される条件分岐のFor文について解説します。
For文の使い方
For文は指定した回数を繰り返したい場合に利用する条件分岐です。
書式は下記の通り。
Sub test()
Dim x As Long
For x = 1 To 5 //①
Cells(x, 1).Value = x
Next //➁
End Sub
※コードの見方
白・・・コード
紫・・・コメント
青・・・プロシージャの宣言
その他・・・コードを見やすくするために使うかも
白・・・コード
紫・・・コメント
青・・・プロシージャの宣言
その他・・・コードを見やすくするために使うかも
①
あらかじめ宣言しておいた変数xにForを利用して繰り返す回数1~5を指定する
➁
nextに処理が到達したら、Forに戻って処理を継続する
出力結果
よく使われるFor文の型
for文はCellsと合わせてループ処理を2重で回すことが多い。
先ほどの例ではA列のみの出力でしたが、2重でループすることでA列の出力が終わったらB列、C列と横に移動して処理を継続することができる。
Sub test()
Dim x As Long
Dim y As Long
For y = 1 To 3
For x = 1 To 5
Cells(x, y).Value = y & "ー" & x
Next
Next
End Sub
上記のコードでは最初のループはA列を指定していて、A列の1行目から5行目に値を出力しています。
5行目の出力が終わったらB列に移動して最初のループ同様に1行目から5行目まで値を出力します。
C列まで値の出力が完了したら処理を停止します。
出力結果
補足1 セルの位置を指定
プロパティ | 書式 | セル単体の指定 | 行の指定 | 列の指定 | 複数行の指定 | 複数列の指定 | 全セルを指定 |
Range | Range("列+行") | Range("A1") セルA1を指定 |
Range("1:1") 行1を指定 |
Range("A:A") 列Aを指定 |
Range("1:5") 行1~5を指定 |
Range("A:E") 列A~Eを指定 |
取得できない |
cells | Cells(行, 列) | Cells(1,2) セルB1を指定 |
取得できない | 取得できない | 取得できない | 取得できない | cells.select |