【Excel VBA】指定したセル範囲を画面いっぱいに拡大・縮小表示する方法

広大なワークシート上にある特定の表やグラフエリアだけを、ユーザーに注目して見せたい場合があります。手動でズームスライダーを調整するのは手間ですが、VBAを使えば、指定したセル範囲がウィンドウにぴったり収まるように、ズーム率を瞬時に自動調整することが可能です。

この記事では、ActiveWindow.Zoom = Trueという少し特殊なコードを使った、この便利なテクニックを解説します。


目次

完成したVBAコード

以下が、「Sheet1」のB2:L25の範囲を、ウィンドウサイズに合わせてズーム表示するVBAコードです。

Sub ZoomToFitRange()

    ' 変数を宣言します
    Dim targetRange As Range
    
    ' --- 1. 画面に表示させたいセル範囲を設定 ---
    Set targetRange = ThisWorkbook.Worksheets("Sheet1").Range("B2:L25")
    
    ' --- 2. 対象範囲を選択 ---
    ' この選択が、Zoom = True の基準になります
    targetRange.Select
    
    ' --- 3. 選択範囲に合わせてズームを自動調整 ---
    ' この一行で、選択範囲がウィンドウに収まるようにズーム率が変更されます
    ActiveWindow.Zoom = True
    
    ' --- 4. 範囲選択を解除(任意ですが推奨) ---
    ' 見栄えを良くするため、範囲の左上のセルを選択状態に戻します
    targetRange.Cells(1, 1).Select
    
    MsgBox "指定範囲を画面に合わせて表示しました。"

End Sub

コードのポイント解説

① 対象範囲の選択: .Select

targetRange.Select

このテクニックの最初のステップは、画面いっぱいに表示したいセル範囲を.Selectメソッドで選択することです。この**「選択されている状態」**が、次のステップの基準となります。

② ズームの実行: ActiveWindow.Zoom = True

ActiveWindow.Zoom = True

これが、この処理の核心部分です。ActiveWindow.Zoomプロパティは、通常10075といったズーム率(%)の数値を設定するために使いますが、ここに**Trueという特別な値を設定**すると、Excelは「現在選択されている範囲が、ウィンドウ内にちょうど収まるようにズーム率を自動調整せよ」という命令として解釈します。

この機能は、Excelの表示タブにある「選択範囲に合わせて拡大/縮小」コマンドをVBAで実行するのに相当します。この命令が機能するには、事前に複数のセルが選択されている必要があります。

③ 選択の解除

targetRange.Cells(1, 1).Select

ズーム調整が終わった後、範囲が選択されたままだと、見た目があまり良くありません。このコードは任意ですが、最後に範囲の左上のセル(.Cells(1, 1))などを選択し直すことで、ハイライトを解除し、ユーザーにとってすっきりとした見た目で処理を終えることができます。


まとめ

指定範囲を画面いっぱいに表示する手順は、以下の通りです。

  1. 表示したいセル範囲を**.Select**で選択する。
  2. ActiveWindow.Zoom = True を実行して、選択範囲に合わせてズームを自動調整させる。
  3. (推奨)見栄えを整えるため、最後に単一のセルを選択し直す。

この簡単なマクロは、特定の表やグラフをユーザーに提示するダッシュボード機能や、プレゼンテーションモードのような使い方をしたい場合に非常に役立ちます。

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

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次