【Excel VBA】表示倍率(拡大/縮小)の取得と設定(Zoom)

はじめに

Excelの表示倍率(拡大/縮小率)を設定・取得する方法を解説します。
取得倍率を相対的に設定する方法や、全シートの表示倍率を元に戻す方法など、実践的なサンプルコードも併せて解説しています。

この記事を読むメリット
  • 表示倍率(拡大/縮小率)を設定・取得する方法が分かります。
  • コピペで使える実践的なサンプルコードを掲載しています。

基本情報

表示倍率の取得 及び 設定をするには、WindowオブジェクトのZoomプロパティを使用します。

前提

パーセンテージでの指定

ウィンドウの右下(赤枠箇所)のパーセンテージを指定する方法です。
10% ~ 400%の間で指定します。

パーセンテージでの指定イメージ
パーセンテージでの指定イメージ

選択セルを全面に表示

選択したセルをウィンドウ全面に表示することも可能です。

拡大前
拡大前
拡大後
拡大後

構文

構文

Windowオブジェクト.Zoom = 設定値

設定値

設定値には、表示倍率を数値で指定する方法と、Boolean型を指定する方法があります。

  • 数値で指定する場合
    • 表示倍率を 10 ~ 400の間で指定します。
  • Boolean型を指定する場合
    • True:指定したセルを画面全体に表示する
    • False:拡大前に戻す

サンプルコード

ウィンドウの表示倍率を設定する

サンプルコード
Public Sub execZoom()

    ' 表示倍率を 120% に設定する
    ActiveWindow.Zoom = 120
End Sub

選択したセルを全面に表示する

サンプルコード
Public Sub selectCellsZoom()
    
    ' シートを指定
    Worksheet("Sheet1").Activate

    ' 拡大する対象範囲を選択
    Range("A1:D4").Select

    ' 拡大の実行
    ActiveWindow.Zoom = True
End Sub

この後、Zoomプロパティに「False」を指定すると、拡大を実行した前の表示倍率に戻ります。

表示倍率を +10% 拡大する

サンプルコード
Public Sub execZoomForRelative()
    Dim zoomValue As Integer
    
    ' シートを指定
    Worksheets("Sheet1").Activate

    ' 表示倍率を取得
    zoomValue = ActiveWindow.Zoom

    ' 現在の表示倍率 +10% に設定
    ActiveWindow.Zoom = zoomValue + 10
End Sub

上限値の 400を超過しないよう、判定を入れるとより良いでしょう。

全シートの表示倍率を元に戻す(100%に戻す)

サンプルコード
Public Sub resetZoomForAllSheet()

    ' 全シートを選択
    Worksheets.Select

    ' 表示倍率を 100% に設定する
    ActiveWindow.Zoom = 100

    ' 1番目のシートを選択する
    Worksheets(1).Select
End Sub

最後に

今回は、表示倍率(拡大/縮小)の取得と設定方法を解説しました。

本記事が、皆さんのお力になれば幸いです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大手外資系コンサルティングファーム勤務。ExcelVBA歴は8年。金融関係のプロジェクトにて約100万レコードを処理するマクロの開発実績あり。ExcelVBAの基礎・応用情報を発信中。

コメント

コメントする

CAPTCHA