提出前の Excel の見た目を VBA で整える方法
資料を開いたとき、シートごとに倍率がばらばら、カーソルが表の途中、2枚目のシートが開く……。相手にとっては小さなストレスです。全シートの見た目をボタン1つでそろえるマクロのサンプルを紹介します。
更新日:2026年10月26日
1. このマクロがやること
表示されているすべてのシートで、次のことを行います。
- 表示を「標準」に戻す(改ページプレビューのままにしない)
- 表示倍率を100%にする
- 左上までスクロールする
- A1 セルを選択する
最後に、一番左のシートを選んだ状態で終わります。そのまま保存すれば、相手は資料の最初から読み始められます。
2. サンプルコード
Option Explicit
' 提出前の見た目をそろえる
' 各シート:標準ビュー・倍率 100%・左上までスクロール・A1 を選択
' 最後に:一番左の表示シートを選択
Sub FormatForSubmission()
Dim ws As Worksheet, first As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Visible = xlSheetVisible Then
If first Is Nothing Then Set first = ws
ws.Select ' シートの複数選択(グループ)も解除される
ActiveWindow.View = xlNormalView
ActiveWindow.Zoom = 100
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1
ws.Range("A1").Select
End If
Next ws
If Not first Is Nothing Then first.Select
MsgBox "整えました。保存してから提出してください。", vbInformation
End Sub3. 使い方
- Alt+F11 で VBA の画面を開き、「挿入」→「標準モジュール」を選んで、上のコードを貼り付けます。
- Excel に戻り、Alt+F8 で「FormatForSubmission」を選んで「実行」を押します。
- 終わったら保存します。
ポイント:提出するブックにマクロを入れたくない場合は、個人用マクロブック(PERSONAL.XLSB)に入れておくと、どのブックを開いていても実行できます。クイック アクセス ツールバーやリボンにボタンとして登録しておくと、さらに手軽です。
4. コードのポイント
- 表示倍率やスクロールの位置はウィンドウの設定なので、シートを1枚ずつ選んで(
ws.Select)から変えています。 ws.Selectは、シートをまとめて選んでいる状態(グループ)も解除します。グループのまま提出してしまうのを防げます。- 非表示のシートは選べないので、
xlSheetVisibleのシートだけを対象にしています。 Worksheetsは普通のシートだけを数えるので、グラフシートは対象外です。
5. 必要に応じて足せるコード
チームのルールに合わせて、ループの中(ws.Range("A1").Select の前)に追加できます。
| やりたいこと | 追加するコード |
|---|---|
| 絞り込みフィルターを解除 | If ws.FilterMode Then ws.ShowAllData |
| 枠線(目盛線)を消す | ActiveWindow.DisplayGridlines = False |
| 見出し(行番号・列番号)を表示 | ActiveWindow.DisplayHeadings = True |
ブック全体に対して1回だけ行うものは、ループの外(MsgBox の前)に追加します。
| やりたいこと | 追加するコード |
|---|---|
| 保存するときに作成者などの個人情報を消す | ActiveWorkbook.RemovePersonalInformation = True |
注意:フィルターの解除は、相手に見せたくない行まで表示されることがあります。解除してよい資料かどうかを確かめてから使ってください。マクロで行った変更は Ctrl+Z で元に戻せないので、実行する前に保存しておくと安心です。
毎回の確認を、ボタン1つに
マクロを使わずに済ませたい場合は、KoreDefo の「Format」ボタンで、各シートの A1 選択・左上までのスクロール・表示倍率 100%(デスクトップ版)・一番左のシートの選択をまとめて行えます。.xlsm にする必要はなく、全シートか、このシートだけかを選べます。提出前に、フィルターのかけっぱなしや作成者の名前が残っていないかのチェックもボタン1つで行えます。
30日間無料で試すチェック項目の一覧を見る