【ExcelVBA】エクセルで全てのシートの選択をA1セルにするマクロ

a1-sel-macro__
スポンサーリンク

どうも、あおです。

 

 

Excelで複数シートがある場合、選択されているセルが色んな場所に飛び散りがち。

 

Fn+Ctrl+Homeを押して、A1セルに移動すればいいのだけれど、

シート数が多いと、めんどう。

 

そういう時は、「そうだ、自動化しよう!」ということで、

マクロをつくります。

 

VBAがわからない人でも、コードを貼り付けて実行するだけなので、ラクチン。

(officeのバージョンは、古いですが2003を使用。

バージョンによっては、コードを書く画面の表示方法等が

異なるかもしれないので、ネットで調べてください)

 

 

 

まず、1シート目の飛び散っている選択されたセルがこちら

Excel A1①

 

 

 

 

2シート目

Excel A1②

 

 

 

3シート目

Excel A1③

 

 

それでは、コードを貼り付ける画面を出します。

Alt+F11を押します。

すると、以下のようにコードを扱える画面が表示されます。

Excel A1④

 

ツールバー「挿入」→「標準モジュール」をクリック

 

 

 

コードを書き込めるページが表示されるので、コードを貼り付けます。

 

【コード】

' 全てのシートを左上選択状態にする
Sub SelectA1AllSheets()

    Dim defSh As Worksheet
    Set defSh = ActiveSheet

    Dim ws As Worksheet

    ' 全シート分実行    
    For Each ws In ActiveWorkbook.Worksheets
    
        ws.Activate
        ActiveWindow.ScrollRow = 1
        ActiveWindow.ScrollColumn = 1
        Range("A1").Select
    Next
        
    defSh.Activate

End Sub

 

 

 

 

 

元の画面に戻ります

Excel A1①

 

 

 

 

Alt+F8を押して、以下の実行画面を表示させます。

Excel A1⑥

 

 

 

右上の実行ボタンを押します。

 

 

 

すると、すべてのシートが自動でA1セルに選択されます。

ちなみに、実行時に表示されているシートがアクティブになります。

 

 

実行後(1シート目)

Excel A1⑦

 

 

 

 

実行後(2シート目)

Excel A1⑧

 

 

 

 

実行後(3シート目)

Excel A1⑨

 

 

説明では3シートですが、何シートあろうが、すべてのシートを

A1セル選択状態にできます。

 

これで見やすく保つことができますね。