捗るを極めたいコンサルタントの仕事術ブログ

NAEの仕事効率化ノート

作業効率

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を発掘次第、共有したいと思います。

自称Excelのプロに教わった面倒な「お作法」をマクロで自動化しまくった結果


仕事術の本を書きました

「仕事の速さを3倍にしろ」
部長からの突然の無茶振りを、若手社員の「泉くん」はどう切り抜けるのか?
こんな無理難題をクリアするための、43の仕事術



外資系コンサルは「無理難題」をこう解決します。 「最高の生産性」を生み出す仕事術

>>内容紹介記事はこちら



  • この記事を書いた人

NAE

IT戦略とデジタルマーケティングを主に扱う外資コンサル。「こうしたほうが早くない?」が口癖の効率化マニア。目指す人物像は三国志の左慈仙人。詳しいプロフィールはこちら

-作業効率

Copyright© NAEの仕事効率化ノート , 2018 All Rights Reserved.