VBA(プログラム)は、条件分岐と繰り返しの組み合わせに尽きます。
確実に覚えましょう。
繰り返し処理は次のような場合に使用します。
- 1日 2日 3日 ・・・ 31日 と日付毎に処理を繰り返す
- 設置機種の 海物語→仕事人→水戸黄門→エヴァ と処理を繰り返す
- グループ店 A店→B店→C店 と処理を繰り返す
繰り返し処理は 「For~Nextステートメント」「Do~Loopステートメント」を使用します。
ここでは「For~Nextステートメント」を解説します。
書式
For 変数名 = 初期値 To 終了値
処理
Next 変数名
例)
都道府県名が入力されている一覧があります。
左から2文字だけを抜き出して右隣のセルに入力させます。
Sub サンプル1()
Dim i As Long
For i = 1 To 10
Cells(i, 2).Value = Left(Cells(i, 1).Value, 2)
Next i
End Sub
[jin_icon_info color=”#e9546b” size=”18px”]Leftは文字列の左端から指定した文字数分の文字列を返す関数です。
実行した結果は下のようになります。
Next i の部分について補足です。
Next i の i(変数名) は省略することも可能です。
ネットや専門書などでも省略されているものも少なくありません。
私は省略せず変数名を記述することをお勧めします。
その理由は実務的なVBAではFor~Nextの中に複数の For~Next や その他のステートメントがあります。
Next の後に変数名があるとこのForがどのNextとセットなのか直ぐに分かるからです。
上図はサンプルで作成しましたが、実務で使用するコードはもっと長くなりスクロールしないと全体を見ることができません。
変数名を入れることで可読性が上がります。