|
|
| Excel VBA Macro ・ フロー制御 ・ FAQ |
|
ブック内の全てのワークシートを順に処理するには?
|
|
|
|
Question 74.2 |
|
 |
 |
|
|
|
ワークブックに存在する全てのシートを順次アクセスして処理したいのですが、その記述が分かりません。よろしかったら教えていただけませんか。
|
|
Answer |
Copyright (C) 2005.7.11 永井善王 |
|
|
For Each...Nextステートメントを利用すれば、簡単にできますよ。
このステートメントは配列やコレクションの各要素に対して、一連のステートメントを繰り返し実行するフロー制御ステートメントの一種です。 その詳細はVBAのヘルプで見ていただくことにして、ここでは、下記にサンプルを示します。
Sub アクティブブックのすべてのシートを順に処理する()
10 For Each 各シート In Worksheets 'ブック中の各シートに対して繰り返す
20 With 各シート '各シートについて
30 .Activate 'アクティブにする
40 シート名 = .Name 'シート名を取得する
50 値 = .Range("A1").Value 'A1セルの値を取得する
60 MsgBox シート名 & " のA1セルは " & 値 'メッセージボックスで表示する
70 End With
80 Next
End Sub
まずは、これを実行して動きを見てください。
その後、40〜60行目のコードを、あなたが行いたい処理に置き換えればよろしいかと思います。 お試しください。
|
|
|
|
| |
|
|