Excelで全シートのカーソルをA1に戻す「お作法」を自動化するVBAマクロ

ExcelでカーソルをA1に戻すのが面倒

Excel界に伝わるいにしえのお作法

そのひとつが「全シートでA1セルにカーソルをあわせてから保存する」です。

新入社員時代に教わったものなのですが、正直面倒くさくて・・・。

ショートカットキーを使えば10秒くらいでパパっとできるのですが、もはやその手間自体を消したい。

そこで、ボタン一発でできるようにマクロを組みました(昔の自分が作っていました)ので、共有したいと思います。

そもそもなぜA1セルに戻すのか?

そもそも、なぜ全シートでA1セルにカーソルを戻してから保存しなければならないのでしょうか。

このお作法を教えてくれた新入社員時代の先輩は言いました。

「Excelは保存するときにカーソルの位置も記憶するんだよ」

「次にファイルを開く人は、きみが最後にどこを編集していたかなんて興味ないだろう?」

たしかに、複数人で連携して1つのExcelを作っている場合でもない限り、開いたときにカーソルが変なところにあると気持ち悪・・・

いや個人的には全然気持ち悪くないんですけど。

単なるお作法対応は価値を生まない

もちろん最低限の配慮は必要ですが、行きすぎるのは問題です。

カーソルをA1セルに戻すだけのただのお作法はその最たるもの。

Ctrl + Home(A1へのカーソル移動)とCtrl + PageUp/Down(シートの移動)を使えば10秒もかからずできますが、この10秒に「お作法を守る」以外の価値は正直ありません。

価値を生まない手作業は、いくら10秒でも抹消すべきでしょう。

そもそもやる価値を感じないですし、やるにしてもショートカットキーで一生懸命操作する必要なんてないはずです。

A1セルへの移動を自動化するVBAマクロ

なので、自動化するマクロを作りました。(昔の自分が作っていました)

なにがどうなるか

すべてのシートについてカーソルをA1に戻ります。

そのうえで、先頭のシートに戻ります。

ソースコード

次のとおりです。短いですね。

Sub ホームポジション()
    Dim i As Variant
    For Each i In Worksheets
        Sheets(i.Name).Select
        ActiveSheet.cells(ActiveWindow.SplitRow + 1, ActiveWindow.SplitColumn + 1).Select
    Next
    Sheets(1).Select
End Sub

使い方

マクロを起動するだけです。事前にどこかを選択したりは必要ありません。

こちらを個人用のアドイン(*.xlam)に放り込んでおくと、ほかのファイルでも使いまわせて便利です。

参考 アドインを追加または削除する – Excel

リボンにボタンを追加するとクリック一発で呼び出せるようになります。

参考 Office でリボンをカスタマイズする – Office サポート

スポンサーリンク

注意事項

特にありません。

カーソル移動処理だけなので、データには1ミリも触れません。

安心してお使い下さい。

スポンサーリンク

まとめ:面倒なお作法は自動化してしまえ

以上、Excelで全シートのカーソルをA1に戻す「お作法」を自動化するVBAマクロのご紹介でした。

短いソースコードを書くだけで10秒かかった作業が1秒(ボタンを押すだけ)に短縮できるんですからVBAはいいですね。

他にもお作法対応的なVBAを発掘次第、共有したいと思います。

この記事が役に立ったら
いいね!をどうぞ

ブログで言えない話はTwitterにて
スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアやコメントお待ちしてます

おすすめ記事

こんな記事も読まれています

スポンサーリンク
スポンサーリンク