すぐに役立つエクセルVBAマクロ集 すぐマク
すぐに役立つ Excel VBA マクロ集 Excel VBA Macro
FAQ
Google
 
Home |  What's New! |  Gallery |  Introduction |  Service |  Profile 500連発・組み方講座フォロー Big Color Pallet
[広告]
Excel VBA Macro
Excel DownLoad
© 1997 - 2007
永井善王.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Excel VBA Macro ・ フロー制御 ・ FAQ
ブック内の全てのワークシートを順に処理するには?
Question 74.2 Previous Next
ワークブックに存在する全てのシートを順次アクセスして処理したいのですが、その記述が分かりません。よろしかったら教えていただけませんか。
Answer   Copyright (C) 2005.7.11 永井善王
school 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行目のコードを、あなたが行いたい処理に置き換えればよろしいかと思います。 お試しください。
Click here to visit our sponsor