著書「外資系コンサルは無理難題をこう解決します」発売中
PR

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 Worksheet
  For Each i In Worksheets
    i.Select
    i.Range("A1").Select
  Next
  Sheets(1).Select
End Sub

使い方

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

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

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

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

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

注意事項

非表示のシートがあるとエラーが出ます。

シートはすべて表示した状態でお使いください。

まとめ:面倒なお作法は自動化しよう

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

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

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

自称Excelのプロに教わった面倒な「お作法」をマクロで自動化しまくった結果
Excel界に脈々と伝わる"お作法"。コンテンツと無関係で本質的な価値を生まない"お作法対応"はさっさと自動化しちゃいましょう。

コメント

コメント以外のご意見・ご要望、管理人へのご連絡などは、お問い合わせからどうぞ

タイトルとURLをコピーしました