はじめに
Excelを使っていると、「一時的に数式全体を確認したい」「印刷イメージを見るために枠線を消したい」「ふりがなをまとめて表示したい」など、様々な表示設定を切り替えたい場面があります。
メニューから毎回設定を変更するのは少し面倒ですが、VBAで「トグル(切り替え)マクロ」を作成しておけば、ボタン一発で表示/非表示を瞬時に切り替えることができ、非常に便利です。
この記事では、コピー&ペーストしてすぐに使える、便利な「表示/非表示切り替えマクロ」を6つ厳選してご紹介します。これらのマクロをクイックアクセスツールバーに登録すれば、あなたのExcelがさらに使いやすくなります。
1. 数式の表示/非表示を切り替える
セルに計算結果ではなく、入力されている数式そのものを表示したい場合に便利です。数式全体のチェックやデバッグ作業が捗ります。Ctrl + Shift + @
のショートカットキーと同じ機能です。
サンプルコード
' 現在のシートの数式表示を切り替える
Sub ToggleFormulasDisplay()
With ActiveWindow
.DisplayFormulas = Not .DisplayFormulas
End With
End Sub
解説: ActiveWindow.DisplayFormulas
は、アクティブなウィンドウで数式を表示するかどうかを制御するプロパティです。自身の現在の状態を Not
で反転させることで、実行するたびに True
と False
が切り替わります。
2. セルの枠線(グリッド線)の表示/非表示を切り替える
レポートの見栄えを確認したり、スクリーンショットを撮ったりする際に、一時的にセルを区切る枠線を消したい場合に役立ちます。
サンプルコード
' 現在のシートの枠線表示を切り替える
Sub ToggleGridlinesDisplay()
With ActiveWindow
.DisplayGridlines = Not .DisplayGridlines
End With
End Sub
解説: ActiveWindow.DisplayGridlines
が枠線の表示を制御しています。上記の数式表示と同様のロジックで、表示/非表示をトグルします。
3. 数式バーの表示/非表示を切り替える
画面を広く使って、Excelシート全体を俯瞰したい場合に便利です。数式バーが非表示になり、表示領域が広がります。
サンプルコード
' Excel全体の数式バーの表示を切り替える
Sub ToggleFormulaBarDisplay()
With Application
.DisplayFormulaBar = Not .DisplayFormulaBar
End With
End Sub
解説: 数式バーはウィンドウ単位ではなく、Excelアプリケーション全体の設定です。そのため、Application.DisplayFormulaBar
を使って制御します。
4. ステータスバーの表示/非表示を切り替える
こちらも画面を広く使いたい場合に有効です。Excelウィンドウ最下部にある、合計値や平均値が表示されるステータスバーの表示/非表示を切り替えます。
サンプルコード
' Excel全体のステータスバーの表示を切り替える
Sub ToggleStatusBarDisplay()
With Application
.DisplayStatusBar = Not .DisplayStatusBar
End With
End Sub
解説: ステータスバーもExcelアプリケーション全体の設定なので、Application.DisplayStatusBar
を使います。
5. ふりがな(フリガナ)の表示/非表示を切り替える
名簿などで、入力されている「ふりがな情報」をまとめて表示したり、非表示にしたりできます。人名リストのチェックなどに便利です。
サンプルコード
' 選択範囲のセルのふりがな表示を切り替える
Sub TogglePhoneticsDisplay()
' ふりがな情報がないセルでエラーになるのを防ぐ
On Error Resume Next
With Selection.Phonetics
.Visible = Not .Visible
End With
On Error GoTo 0
End Sub
解説: このマクロは、**選択しているセル範囲(Selection)**に対して機能します。Selection.Phonetics.Visible
がふりがなの表示状態を制御しています。
6. 改ページの表示/非表示を切り替える
印刷範囲を示す青い点線(改ページ)の表示/非表示を切り替えます。通常の編集作業中にこの線が邪魔に感じるときに便利です。
サンプルコード
' 現在のシートの改ページ表示を切り替える
Sub TogglePageBreaksDisplay()
With ActiveSheet
.DisplayPageBreaks = Not .DisplayPageBreaks
End With
End Sub
解説: 改ページはシートごとの設定です。そのため、ActiveSheet.DisplayPageBreaks
を使って、現在アクティブなシートの改ページ表示を制御します。
まとめ
今回は、様々な表示設定を瞬時に切り替える「トグルマクロ」を6つご紹介しました。
プロパティ = Not プロパティ
という書き方がトグル処理の基本。- 対象がウィンドウ、アプリケーション、シート、選択範囲など、何であるかを意識するのが重要。
これらの短いコードは、一度あなたの「個人用マクロブック」に保存しておけば、どんなファイルを開いていてもすぐに呼び出せます。クイックアクセスツールバーに登録して、日々のExcel作業をさらに効率化してみてください。