Excel|全シートの選択セルと表示倍率を初期化するマクロ

Dim sheet As Object
For Each sheet In ActiveWorkbook.Sheets
    sheet.Activate
    ActiveSheet.Range("A1").Select
    ActiveWindow.Zoom = 100
Next sheet
ActiveWorkbook.Sheets(1).Activate

If ActiveWorkbook.Path = "" Then
    Application.Dialogs(xlDialogSaveAs).Show
Else
    ActiveWorkbook.Save
End If

あっさりしたコードだが四つの作業をこなす働き者。

  1. 全シートの選択セルをA1にする。
  2. 全シートの表示倍率を100%にする。
  3. 先頭のシートをアクティブにする。
  4. ブックを保存する。

エクセルを顧客に提出する際に行うお作法というかマナーというか、毎度これをやっている方は多いと思う。

二~三シートなら手作業でもまぁいいのだが、数十シートあるファイルが数十個とかなると気が滅入るしミスる。こういう繰り返し作業は機械に任せべきだ。ミスも文句も出てこない。

試しにこのマクロをアドイン(※1)にして知人の職場にプレゼントしてみたところ、それはもう崇め奉られ酒池肉林のもてなしを受けたりはしなかったけれど喜んでくれた。

やはり多くの人がこの作業に時間を奪われていたようだが、なぜMicrosoftはこの機能を作らないのだろうか? こんなことを気にするのは日本だけなのだろうか? というかIEのことどう思ってるの?

このマクロがいらなくなる日を待ち望む。

(※1)マクロをアドイン(.xlam)として保存すると、全てのブックでそのマクロを使うことができます。クイックアクセスツールバーに追加するのが手軽でおすすめ。やり方は「マクロ アドイン」でググると出てきます。たぶん。

↓クイックアクセスツールバーを使い倒している様子。

クイックアクセスツールバーに追加した様子