エクセルでカーソル位置をA1(左上)に揃える方法!【マクロ自動化】

Sponsored Link

Excelで作成したファイルをお客さんに納品するときなど、「誰かに見せる」機会に、昔から行われている儀式というかお作法が有ります。

全てのシートのカーソル位置を左上に移動する!

Excelにはファイル自体にカーソル位置を覚えておく機能があります。個人でエクセルファイルを編集している間は便利な機能ですが、他人に見せる場合は邪魔になることが多いです。友人や会社の同僚ならまだしも、上司や顧客に「エクセルのどの部分を編集していたのか」が知られてしまうのは、こっ恥ずかしいものです。

今回はとても単純だけど面倒な作業をExcelマクロで自動化してしまおうというお話です。

Sponsored Link

※ノートパソコンのキーボードなどは[Fn]キーも一緒に押します。

このキー操作をエクセルファイルの全てのシートで行うことで、カーソル位置を左上(A1)に揃えることが出来ます。

更にシートの切り替えは次の操作で可能です。

カーソル位置をキーボード操作のみで”A1″に揃える方法

この面倒な作業をキーボード操作で済ませる方法があります。

[Ctrl] + [Home]

[Ctrl] + [PageUp] / [PageDown]

この2つの操作を繰り返せば10秒とかからない間にカーソル位置を揃えることができます

処理したいファイルの数が片手で数えられるくらい少ない場合は、この方法で事足りるでしょう。これが10ファイル、20ファイル、30ファイル…となると、かなり面倒くさいですね。

そんなときのために、こういった定型的な操作はマクロに任せてしまうのが定石です!

Sponsored Link

カーソル位置をマクロで”A1″に揃える方法

カーソルを左上のセルに移動する操作をマクロ(VBA)で書くと、次のようになります。

Range("A1").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

1行目で文字通りA1セルを選択し、2行目と3行目で画面のスクロール位置を1行目の1列目に移動しています。

これをエクセルファイルの全てのシートに対して行うには、次のコードを追加します。

Sub sample()
    Dim wb As Workbook
    '現在選択されているブックを変数に格納
    Set wb = ActiveWorkbook
    Dim ws As Worksheet
    'ブックの中のシートを1枚ずつループ
    For Each ws In wb.Worksheets
        '処理対象のシートを有効にする
        ws.Activate
        '"A1"セルを選択
        Range("A1").Select
        ActiveWindow.ScrollRow = 1
        ActiveWindow.ScrollColumn = 1
    Next ws
    '先頭のシートを有効にする
    wb.Worksheets(1).Activate
    '使用したオブジェクトを破棄
    Set wb = Nothing
End Sub

11行目~13行目のA1のセルを選択する処理のためだけに大げさな感じになりましたが、この選択中のブックのシートをループする処理は、全てのシートに対して何度となく繰り返し発生する操作(ルーチン作業)を自動化するのに非常に有用です。

以上、今回はこのへんで。

にほんブログ村 IT技術ブログへ
にほんブログ村

コメント

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