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

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

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


矢野ヒロタ /1988年生まれ。プログラマー、会社員。仕事で培ったWebやスマホアプリの技術を発信すると見せかけてもっぱら妄想を綴っています。よしなに。