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)に放り込んでおくと、ほかのファイルでも使いまわせて便利です。
リボンにボタンを追加するとクリック一発で呼び出せるようになります。
参考 Office でリボンをカスタマイズする – Office サポート
注意事項
非表示のシートがあるとエラーが出ます。
シートはすべて表示した状態でお使いください。
まとめ:面倒なお作法は自動化しよう
以上、Excelで全シートのカーソルをA1に戻す「お作法」を自動化するVBAマクロのご紹介でした。
短いソースコードを書くだけで10秒かかった作業が1秒(ボタンを押すだけ)に短縮できるんですからVBAはいいですね。
他にもお作法対応的なVBAを発掘次第、共有したいと思います。
コメント