Excelで書かれたドキュメントを閲覧する際、見づらいと思ったことはありませんか?
- シートごとに、表示倍率が違う
- シートごとに、スクロール位置がバラバラ(選択セルが違う)
- セルの枠線が邪魔
今回は、Excelシートを見やすく設定するマクロを紹介します。
シンプルなマクロですが、PONSE自身、こんな感じで職場で使っています。
- Excelで書かれたドキュメントを開き、マクロを実行 ⇒ 閲覧
- 客先に納品するドキュメントの体裁を整える。
動作イメージ

このマクロでできること
前面に表示しているブックの全シートに、下記設定がされます。
- 指定した倍率にズーム(初期値 100%)
- 先頭行にスクロール
- 先頭セル(A1)を選択
- セル枠線を非表示
- 最後に、最初のシートを表示
👉 Excelのドキュメントが閲覧しやすくなる
使い方
- マクロが入ったブックを開く。
※このブックは、マクロを使用する間は開いたままにする - 整形したいブックを開き、前面に表示。
- ALT+F8を押して、マクロダイアログを表示。(PCによっては、ALT+Fn+F8)
- リストの「シート表示整形」を選択して、実行ボタンを押す。

- 表示倍率を入力。
- OKボタンを押す。

以上で、全シートの表示設定が変更されます。
※マクロで整形した内容を破棄する場合は、ブックを保存せずに終了してください。
または、整形するブックを読み取り専用で開いて、マクロを実行してください。
ダウンロード
マクロが入ったブックを、こちらからダウンロードできます。
ダウンロードしたブックのマクロを動かそうとすると、「このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。」と表示されて実行できないことがあります。

解決方法を下記の投稿に掲載していますので、参照ください。
Excel画面の上部にセキュリティの警告が表示された場合は、「コンテンツの有効化」をクリックします。

マクロのソース
Sub シート表示整形()
Dim zoomValue As Variant
Dim ws As Worksheet
Dim wb As Workbook
Set wb = ActiveWorkbook
' ズーム倍率を入力
zoomValue = Application.InputBox( _
Prompt:="ズーム倍率を入力してください(10~400)", _
Title:="ズーム設定", _
Default:=100, _
Type:=1)
' キャンセル時は終了
If VarType(zoomValue) = vbBoolean Then Exit Sub
' 範囲チェック
If zoomValue < 10 Or zoomValue > 400 Then
MsgBox "10~400の数値を入力してください。", vbExclamation
Exit Sub
End If
Application.ScreenUpdating = False
' 全シートを順に処理(非表示シートはスキップ)
For Each ws In wb.Worksheets
If ws.Visible = xlSheetVisible Then
ws.Activate
ActiveWindow.DisplayGridlines = False ' 枠線OFF
ActiveWindow.Zoom = zoomValue ' ズーム設定
ws.Range("A1").Select ' A1選択
ActiveWindow.ScrollRow = 1 ' 先頭行へスクロール
ActiveWindow.ScrollColumn = 1 ' 先頭列へスクロール
End If
Next ws
' 先頭の表示シートを選択して終了
For Each ws In wb.Worksheets
If ws.Visible = xlSheetVisible Then
ws.Activate
Exit For
End If
Next ws
Application.ScreenUpdating = True
End Sub
さらに快適に
このマクロを個人用マクロブックに登録すると、「使い方」に記載した”マクロが入ったブックを開く”が不要となり楽ちんです。
(個人用マクロブックは、Excel起動時に自動で開かれる)
個人用マクロブックについては、下記の投稿をチェックしてみてください。
さらにマクロにショートカットキーを設定すると、キー操作1発でマクロが実行できて便利です。
ぜひ、下記の投稿をチェックしてみてください。
コメント