このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【完全自動化】全シートでA1を選択させるマクロ(VBA)

2021年12月9日

Excelファイルを上司や顧客に送るとき、カーソルをA1に揃えていませんか?

シートが1つや2つならまだしも、たくさんあるとカーソルを揃えるだけでも一苦労ですよね。
修正があれば、その度にやる必要がありますし。

そんな面倒な作業もマクロを使えば一発です。

今回は全シートのカーソルをA1にするマクロを紹介します。
このマクロを使えば、ワンクリックで全シートのカーソルをA1に直せます。

次のような人に向けた内容です。

  • 資料提出の度にカーソルの位置を揃えている
  • エクセルファイルのシート数が多くて大変
  • 仕事が多すぎるので、もっと楽なやり方が知りたい

VBAが難しいと感じたら
自分で作るのが難しいと感じたらご相談ください。
ココナラにて、VBAの作成を受け付けています。
ご相談はこちらから

全シートのカーソルをA1にするマクロ

Sub A1Select()
'アクティブブックの全シートでカーソルとスクロール位置をA1に合わせる
    Application.ScreenUpdating = False
    
    With ActiveWorkbook
        '現在アクティブなシートを取得
        Dim actSht As Variant: Set actSht = .ActiveSheet
    
        On Error Resume Next
        Dim sht_i As Long
        For sht_i = .Worksheets.Count To 1 Step -1
            Application.Goto Reference:=.Worksheets(sht_i).Range("A1"), Scroll:=True
        Next
    End With
    
    Application.ScreenUpdating = True
    actSht.Activate
End Sub

このマクロを実行すれば、アクティブなExcelブックのカーソルをすべてA1に動かしてくれます。

        Dim sht_i As Long
        For sht_i = .Worksheets.Count To 1 Step -1
            Application.Goto Reference:=.Worksheets(sht_i).Range("A1"), Scroll:=True
        Next

この部分がカーソルを動かす部分で、他はおまけのようなものです。

このマクロでは最後に「元々アクティブだったシート」をもう一度アクティブにしています。

    actSht.Activate

この行をコメントアウトすれば、最後に1つ目のワークシートがアクティブになるように変更することもできます。

アドイン化するともっと便利に

このマクロはアドインとして動くように工夫して作ってあります。
アドインにしておけば、マクロのない普通のExcelブックに対しても使用できます。

カーソルをA1にしたいファイルは人に渡すものなので、マクロを含んだブックだと困りますよね。
なので、アドイン化して使うことをおすすめします。

VBAが難しいと感じたら
自分で作るのが難しいと感じたらご相談ください。
ココナラにて、VBAの作成を受け付けています。
ご相談はこちらから

VBA

Posted by やろまい