2012年4月1日日曜日

[EXCEL][マクロ]Forループ

Forループは、次のように記述する

For lineNum = 2 To 10
    If Workbooks("Sample.xls").Sheets("Sheet1").Cells(lineNum, 2) = "" Then Exit For
    MsgBox Workbooks("Sample.xls").Sheets("Sheet1").Cells(lineNum, 2)
Next lineNum

例えば1行目がタイトル行となっており、2行目から10行目のデータをループで処理したい場合、

For lineNum = 2 To 10
    (処理)
Next lineNum

のように記述する。
また、2カラム目が空白ならデータなしと見なして途中でループを抜けたい場合は、

    If Workbooks("Sample.xls").Sheets("Sheet1").Cells(lineNum, 2) = "" Then Exit For

のように記述する。
Cellsの第2引数はカラムなので各行の2カラム目を見て空白ならループを抜ける処理になる。

0 件のコメント:

コメントを投稿