【エクセルVBA】全シートでA1セルを選択した状態にするマクロ
あらかじめ、全てのシートでA1セルを選択した状態にする方法を紹介します。
この記事の目次
ソースコード
標準モジュールに下記ソースコードをコピペします。
Sub MoveToCellA1_AllSheet()
Dim WB As Workbook
Set WB = ActiveWorkbook
Dim WS As Worksheet
For Each WS In WB.Worksheets
WS.Activate
WS.Cells(1, 1).Select
Next
WB.Worksheets(1).Activate
End Sub
概要
上記マクロを実行すると、次のような状態になります。
- 現在アクティブになっているブックについて、全シートA1セルが選択される
- しかも、1枚目のシートが選択される
解説
Activeworkbookの情報を変数に格納
Dim WB As Workbook
Set WB = ActiveWorkbook
プロシージャの中で、何回も「Activeworkbook」を参照してしまうと、万一、マクロ実行中に別ブックが選択されたときに、マクロの動きがおかしくなってしまいます。
そこで、あらかじめ、プロシージャの先頭で、現在開いているワークブック(Activeworkbook)を「変数WB」に代入しています。
全ワークシートでA1セルを選択
Dim WS As Worksheet
For Each WS In WB.Worksheets
WS.Activate
WS.Cells(1, 1).Select
Next
For Eachループで、変数WB(=Activeworkbook)の全ワークシートについて、次の処理を行います。
- シートの表示(=WS.Activate)
- A1セルを選択(=WS.Cells(1, 1).Select)
1枚目のシートを選択
WB.Worksheets(1).Activate
最後に、1枚目のシートを選択します。
実行したときの動画
※下記を再生しても音は出ませんので、音が出せない環境でもご安心ください。