教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA ブック操作】Excelブックを拡大/縮小表示(Zoom)するにはどうすればいいの?教えて!

ブックを拡大/縮小表示するには「Zoom」を使います。

構文

構文は以下の通りです。

ActiveWorkbook.Zoom = 倍率

解説

ActiveWorkbook.Zoomプロパティは、アクティブなワークブック(現在操作中のワークブック)の表示倍率を制御するために使用されます。倍率は整数値で指定します。例えば、倍率が100の場合は通常表示となります。倍率が200の場合は200%拡大表示となり、倍率が50の場合は50%縮小表示となります。

使い方

Zoomは、ワークシートのオブジェクトであるため、ワークシートがアクティブな状態でなければなりません。具体的には、以下のように書きます。

Sub ZoomExample()
    ' アクティブなワークシートの表示倍率を200%に変更する
    ActiveWorkbook.ActiveSheet.Zoom = 200
End Sub

この例では、アクティブなワークシートの表示倍率を200%に変更しています。ActiveWorkbookは、現在開いているブック全体を表し、ActiveSheetは現在アクティブなワークシートを表します。Zoomプロパティに倍率200を代入することで、ワークシートの表示倍率を変更しています。

プログラミング例

Zoomを使った具体的なプログラミング例を紹介します。

例1:ボタンをクリックすると表示倍率が変更される

この例では、フォームに配置されたボタンをクリックすると、アクティブなワークシートの表示倍率が変更されます。

まず、フォームにボタンを配置し、ダブルクリックしてClickイベントを開きます。以下のようにコードを書きます。

Sub CommandButton1_Click()
    ' アクティブなワークシートの表示倍率を200%に変更する
    ActiveWorkbook.ActiveSheet.Zoom = 200
End Sub

このコードでは、ActiveWorkbook.ActiveSheet.Zoomプロパティを使用して、アクティブなワークシートの表示倍率を変更しています。ボタンをクリックすると、このコードが実行され、ワークシートの表示倍率が200%に変更されます。

例2:複数のワークシートの表示倍率を一括で変更する

この例では、複数のワークシートの表示倍率を一括で変更する方法を紹介します。以下のようなコードを書くことで実現できます。

Sub ZoomAllSheets()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        ws.Zoom = 75
    Next ws
End Sub

このコードでは、すべてのワークシートの表示倍率を75%に変更しています。For Each文を使用して、すべてのワークシートに対してZoomプロパティに75を代入しています。

まとめ

Zoomを使うことで、ワークシートの表示倍率を変更し、大きな表やグラフを見やすくすることができます。是非参考にしてください。