はじめに
Excelでの作業中、細かいデータを見るときは拡大し、シート全体を俯瞰したいときは縮小する、というように、表示倍率(ズーム)の変更は頻繁に行う操作の一つです。
しかし、毎回右下のスライダーを操作したり、Ctrl
キーを押しながらマウスホイールを転がすのは、少し手間がかかりますよね。もし、ボタン一つで「75% → 100% → 150% → 75%…」のように、決まった倍率を順番に切り替えられたら非常に便利です。
この記事では、実行するたびに設定した表示倍率を巡回(サイクル)する、便利なVBAマクロの作り方を分かりやすく解説します。
表示倍率を巡回させるVBAサンプルコード
ここで紹介するコードは、現在の表示倍率に応じて、あらかじめ設定しておいた倍率リストの中から次の倍率へ変更する、という処理を行います。
ここでは、75%
, 100%
, 125%
の3つの倍率を順番に切り替えるマクロを作成します。
完成コード
' 表示倍率を 75% -> 100% -> 125% -> 75%... の順で切り替える
Sub CycleZoomLevel()
'== 変数と設定を定義します ==
Dim zoomOptions As Variant
Dim currentZoom As Long
Dim nextZoom As Long
Dim i As Long
' 切り替えたい倍率のリスト(%)
zoomOptions = Array(75, 100, 125)
' 現在の表示倍率を取得
currentZoom = ActiveWindow.Zoom
' デフォルトの次の倍率を設定(リストの最初の値)
nextZoom = zoomOptions(0)
'== 現在の倍率がリストのどこにあるかを探し、次の倍率を決定します ==
For i = LBound(zoomOptions) To UBound(zoomOptions)
If currentZoom = zoomOptions(i) Then
' 現在の倍率がリストの最後でなければ、次の倍率を設定
If i < UBound(zoomOptions) Then
nextZoom = zoomOptions(i + 1)
' 現在の倍率がリストの最後なら、最初の倍率に戻す
Else
nextZoom = zoomOptions(LBound(zoomOptions))
End If
Exit For '次の倍率が決まったらループを抜ける
End If
Next i
'== 表示倍率を変更します ==
ActiveWindow.Zoom = nextZoom
End Sub
【使い方】
- VBE(
Alt + F11
)を開き、標準モジュールに上記のコードを貼り付けます。 CycleZoomLevel
マクロを実行します。- 実行するたびに、シートの表示倍率が 75% → 100% → 125% → 75%… と切り替わります。
コードの解説
zoomOptions = Array(75, 100, 125)
Array
関数を使って、切り替えたい倍率のリストを配列として変数 zoomOptions
に格納しています。ここの数値を Array(80, 100, 120, 150)
のように変更すれば、お好みの倍率リストにカスタマイズできます。
currentZoom = ActiveWindow.Zoom
ActiveWindow.Zoom
プロパティで、現在のウィンドウの表示倍率(%)を取得しています。
For i = LBound(zoomOptions) To UBound(zoomOptions)
For
ループを使って、配列 zoomOptions
の中身を最初から最後まで一つずつチェックしています。
LBound
は配列の最小インデックス、UBound
は最大インデックスを取得する関数です。
If currentZoom = zoomOptions(i) Then ...
現在の倍率が、リストの中の何番目にあるかを探しています。
nextZoom = zoomOptions(i + 1)
現在の倍率がリストの中に見つかった場合、その次の要素(i + 1
)を「次に設定すべき倍率」として nextZoom
に格納します。もし見つかったのがリストの最後だった場合は、リストの最初の要素に戻るように設定しています。
ActiveWindow.Zoom = nextZoom
最後に、決定した nextZoom
の値を、実際の表示倍率として設定しています。
まとめ
今回は、VBAを使って表示倍率を順番に切り替える「ズームサイクルマクロ」をご紹介しました。
ActiveWindow.Zoom
プロパティで倍率の取得と設定ができる。Array
関数で倍率の候補リストを作ると、管理やカスタマイズがしやすい。
このマクロをクイックアクセスツールバーに登録しておけば、ワンクリックで最適な表示倍率に切り替えることができ、作業が非常にはかどります。ぜひ、あなた好みの倍率リストを作って活用してみてください。