【完全自動化】全シートでA1を選択させるマクロ(VBA)
Excelファイルを上司や顧客に送るとき、カーソルをA1に揃えていませんか?
シートが1つや2つならまだしも、たくさんあるとカーソルを揃えるだけでも一苦労ですよね。
修正があれば、その度にやる必要がありますし。
そんな面倒な作業もマクロを使えば一発です。
今回は全シートのカーソルをA1にするマクロを紹介します。
このマクロを使えば、ワンクリックで全シートのカーソルをA1に直せます。
次のような人に向けた内容です。
- 資料提出の度にカーソルの位置を揃えている
- エクセルファイルのシート数が多くて大変
- 仕事が多すぎるので、もっと楽なやり方が知りたい
全シートのカーソルを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にしたいファイルは人に渡すものなので、マクロを含んだブックだと困りますよね。
なので、アドイン化して使うことをおすすめします。