【Excel VBA】全シートをA1セルに移動し選択状態にする方法!別ブックも対応可!

【Excel VBA】全シートをA1セルに移動し選択した状態にする方法!別ブックも対応可!

VBAで全シートをA1セルに移動し選択した状態にしたいときはないでしょうか。

けど、そんな中で悩むことは、

・VBAで全シートをA1セルに移動し選択した状態にしたいが方法がよくわからない
・VBAで別ブックの全シートをA1セルに移動し選択した状態にしたいが方法がよくわからない

ですよね。

今回はそんなお悩みを解決する

・VBAで全シートをA1セルに移動し選択した状態にする方法
・VBAで別ブックの全シートをA1セルに移動し選択した状態にする方法

についてまとめます!

VBAで全シートをA1セルに移動し選択した状態にするイメージ

VBAで全シートをA1セルに移動し選択した状態にするイメージについて説明をします。

まず各シートをA1セル以外の選択となっている状態にします。

VBAを実行すると、

すべてのシートがA1セルに移動し選択された状態になります。

さらにマクロを実装していない別ブックも同様に、

A1セルに移動し選択された状態にすることができます!

A1セルの選択へ統一することはドキュメント納品時のお作法として定着していますが、いざそれをおこなうとなると、かならず抜け漏れがありますよね…

そんな時は量に関係なく確実に処理してくれるこのマクロを使うととても便利です。

それでは早速試してみましょう。

VBAで全シートをA1セルに移動し選択した状態にする方法

VBAで全シートをA1セルに移動し選択した状態にするについて説明をします。

サンプルのシートを準備する

まずは対象となるシートを準備しましょう。
サンプルでは以下のように3つのシートにそれぞれ違う位置のセルを選択された状態にしています。

VBAコード

サンプルのVBAコードは以下の通りです。

Sub 全シートをA1セルに移動し選択した状態にする()
    Dim objSheets As Sheets
    Dim objSheet As Object 'Sheet以外も入るので汎用的なObject型にしています。

    'アクティブブックの全シートをオブジェクトにセットします。
    Set objSheets = ActiveWorkbook.Worksheets

    For Each objSheet In objSheets
        'Selectメソッドを効かせるためシートをアクティブにします。
        objSheet.Activate
        'A1セルに移動し選択します。
        objSheet.Range("A1").Select
    Next
    
    'オブジェクトを解放します。
    Set objSheets = Nothing
    Set objSheet = Nothing
    
End Sub

VBAの実装

VBAの実装方法については
VBAの実装手順
をご参照ください。

VBAを実行する

VBAを実行してみましょう。

全シートをA1セルに移動し選択した状態にされた状態になりましたね。

別ブックの全シートをA1セルに移動し選択した状態にする

続いて、別ブックの全シートをA1セルに移動し選択した状態にしてみましょう。

サンプルでは「別ブック.xlsx」のシートをA1以外のセルを選択した状態にしています。

マクロが実装されているブックのVBAを実行してみましょう。

別ブックも同様にA1セルに移動し選択された状態になりましたね!

VBAの説明

VBAについて説明をします。

一般的にはSheet1型で定義しますが、Sheet以外の形式のオブジェクトが入るので汎用的なObject型にしています。

Dim objSheet As Object

アクティブブックの全シートをオブジェクトにセットします。

Set objSheets = ActiveWorkbook.Worksheets

タカヒロ
タカヒロ
ActiveWorkbookなので、別ブックをアクティブにすれば処理対象にできます。

1シートづつ取り出して全シート分処理を繰り返します。

For Each objSheet In objSheets Next

Selectメソッドを効かせるためシートをアクティブにします。

objSheet.Activate

タカヒロ
タカヒロ
シートをアクティブにしない場合はエラーとなります。

A1セルに移動し選択します。

objSheet.Range("A1").Select

オブジェクトを解放します。

Set objSheets = Nothing
Set objSheet = Nothing

VBAの実装手順

実装手順は以下の通りです。

Excel側にVBAを実装していきます。

①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。

②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。

③右ペインのウインドウに上記のVBAを入力します。

こちらで完了です。

VBAを実行する

では早速VBAの実行をしてみましょう。

①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。

②処理がされたことが確認できれば完了です。

さいごに

いかがでしょうか。

今回は、

・VBAで全シートをA1セルに移動し選択した状態にする方法
・VBAで別ブックの全シートをA1セルに移動し選択した状態にする方法

についてまとめました。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。








コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です