技術tips保管庫

技術tips保管庫

Excel VBAを中心に、仕事で役立つあれこれを記録

【Excel VBA】ブック内にある全シートをA1セル選択にする

このページで書くこと

Excelブック内にある全シートを一度に左上揃い(A1セル選択状態)にします。
大量にシートが分かれているブックの体裁を整える際に便利です。

経緯

仕事でExcelを使用していると、シートの数が多くなることがよくあります。
しかもたくさんのシートを同時に使用していると、ブックを保存する時には各シートで選択しているセルも表示される位置もぐちゃぐちゃ……これでは次に使用する人もゲンナリしてしまいます。
ましてやお客さんに提出する資料ならなおさら、このあたりは綺麗に整えておきたいものです。

しかし、シートの数が多くなればなるほど、1シートずつ修正していくのはめんどくさい!
なのでVBAで解決しました。

使用するコード

Sub UPPER_LEFT()
'
    Application.ScreenUpdating = False '画面の更新を停止させる
    '
    Dim i As Long
    For i = 1 To Worksheets.Count
        Sheets(i).Activate
        ActiveWindow.ScrollColumn = 1 'A列が左側に来るように調整
        ActiveWindow.ScrollRow = 1 '1行目が一番上に来るように調整
        Range("A1").Select 'A1セルを選択
    Next i
    '
    Sheets(1).Activate '先頭のシートを表示
'
Application.ScreenUpdating = True '画面の更新を戻す
'
End Sub

備考

自動でシートの数を数え(Worksheets.Count)、その分同じ処理を繰り返します。
表示される画面を左上に修正し(ActiveWindow.ScrollColumn = 1ActiveWindow.ScrollRow = 1)、A1セルを選択しています。
処理中は画面がチカチカするので、画面の更新を止めておいた方がよいと思います(Application.ScreenUpdating = False)。

処理後は、このマクロの削除や拡張子の修正(xlsm→xlsx)などを忘れずに!

以上です。