- 公開日:2017-1-12
- プロナビTOP / プログラミング初心者向け技術系ノウハウ・まとめ

VBAで繰り返し処理を行う際にはfor文を使用すると非常に便利です。
それでは、基本的な構文から確認していきましょう。
For文の構文
|
1 2 3 4 |
Dim 変数 As Integer For 変数=初期値 To 最大値 ~繰り返し処理を記述~ Next 変数 |
まずは変数を定義し、【For 変数の初期値 To 変数の最大値 】という順番で設定します。
そして繰り返したい処理を記述し、Next 変数で繰り返し処理の終端とします。
変数が初期値の状態でfor文の次から処理が実行され、
Nextで変数が1ずつ増加し最大値になるまで繰り返し処理が行われるという仕組みです。
続けて、1月から12月までの月をFor文で入力する例をご紹介します。
<コード>
|
1 2 3 4 |
Dim i As Integer For i = 1 To 12 Cells(i, 1) = i & “月” ‘i行目・1列目のセルに各月を入力’ Next i |
<実行例>
変数の増減値を変更する方法
Toの後にStepで変数iの増減値を設定することもできます。
<コード>
|
1 2 3 4 5 6 |
Dim i As Integer, j As Integer j = 1 For i = 6 To 1 Step –1 ‘マイナス値のためiの値が1ずつ減少する’ Cells(1, j) = i & “年生” ‘1行目・j列目のセルに学年を入力’ j = j + 1 Next i |
<実行例>
例では-1を設定しているのでiの値が1ずつ減少していますが
Step 2などとすると2ずつ増加させることもできます。
For文をネストさせる方法
for文の中にFor文を入れる(ネストと呼びます)こともできます。
繰り返し処理が2重になり、より複雑な構文になりますが
シートを縦・横方向に一気に処理する等、高度な処理ができるのでこちらもぜひ覚えておきたい処理です。
<コード>
|
1 2 3 4 5 6 7 8 9 10 11 |
Dim i As Integer, j As Integer ‘セルの行数・列数を設定’ Dim Kosuu As Integer, Tanka As Integer ‘個数・単価を設定’ i = 4 ‘入力スタート地点(行)’ For Kosuu = 5 To 20 Step 5 j = 3 ‘入力スタート地点(列)’ For Tanka = 100 To 300 Step 100 Cells(i, j) = Kosuu * Tanka ‘i行目・j列目のセルに個数×単価を入力’ j = j + 1 Next Tanka i = i + 1 Next Kosuu |
<実行例>
まとめ
for文を使用すると繰り返し処理を行うことができます。
手間なく大量のデータを入力したい場合などに大変便利なので
ぜひネストなどを応用しつつ試してみてください。

































