初心者オサムシがExcelのマクロと戦う戦闘ブログである
by オサムシ
For Each ステートメント/マクロ基礎

For Each ステートメント/マクロ基礎



For Each ステートメントは、グループの構成要素を順番に操作していく為のステートメントです

ここでいうグループとは配列やコレクションを指します

配列とは、例えば選択した複数セルが該当します

マクロを書いてみよう
Sub 選択セル繰り返し()
Dim hyouji As Range 'For EachはObjectかVariant型以外はエラー
For Each hyouji In Selection '選択セルを指定
MsgBox hyouji 'メッセージボックスで表示
Next '繰り返しここまで
End Sub


シートに適当な値を入力して選択
d0285354_2040254.jpg


d0285354_20411551.jpg

d0285354_20412253.jpg

d0285354_20414565.jpg

d0285354_20415329.jpg

セルの中身は見てないので、選択したセルは空でも表示します

For Each hyouji In Selection
この部分を
For Each hyouji In Range("A1:A4")
と直接範囲指定しても同じ結果です

コレクションを使うなら例えばWorksheetsだと
For Each hyouji In Worksheets
これで、設定されているシートを左から順番に処理する

Offsetプロパティなどと組み合わせても使えるね!

創造力を掻き立てるステートメントですな。osamushi

オサムシじゃーなる
[PR]
by 03musi | 2013-01-19 20:50 | マクロ 基礎
<< 止まらないマクロを停止する~無... Do Loop ステートメント... >>