目次

拡縮

ワークシートの表示倍率を変更する Excel マクロを作成してみました。

表示倍率を 50 % にズームアウト、 200 % にズームインなど、エクセルの画面を拡大、縮小して表示を行う事が出来ました。

Window オブジェクトの Zoom プロパティを使用しています。

目次まで戻る

マクロの一例

以下の ExcelVBA のコードを書いてみました。

Zoom プロパティに表示倍率を設定しています。 Zoom プロパティから現在の設定値を取得して msgbox 関数で表示する処理も行っています。

私の使用している Excel2003 の場合ですが、 Zoom プロパティに設定可能な倍率の数値の範囲は、下限 10 、上限 400 だと思います。

それ以外の数値を指定するとエラーが発生すると思います。

200.5 と整数ではない数値を指定して、 = ActiveWindow.Zoom で取得してみたところ、 200 の結果が返ってきました。

Sub ワークシートの表示倍率を変更するマクロ()

Dim a As Variant '「設定」に使用する自由な名前の変数です。
Dim b As Variant '「取得」に使用する自由な名前の変数です。

'1 回目
a = 50 'パーセント単位の表示倍率
ActiveWindow.Zoom = a '設定
b = ActiveWindow.Zoom '取得
MsgBox "表示倍率を " & b & "% に変更しました。" ’メッセージ表示

'2 回目
a = 200
ActiveWindow.Zoom = a
b = ActiveWindow.Zoom
MsgBox "表示倍率を " & b & "% に変更しました。"

'3 回目
a = 100
ActiveWindow.Zoom = a
b = ActiveWindow.Zoom
MsgBox "表示倍率を " & b & "% に変更しました。"

End Sub

マクロを実行すると、以下の画像のようにワークシートの表示倍率が変更されました。

1 回目の処理結果です。

1 回目の ActiveWindow.Zoom = a の実行結果です。表示倍率が 50% になっています。
1 回目の ActiveWindow.Zoom = a の実行結果です。表示倍率が 50% になっています。
1 回目の MsgBox 関数の実行結果です。表示倍率を 50% に変更しました。と表示されています。
1 回目の MsgBox 関数の実行結果です。表示倍率を 50% に変更しました。と表示されています。

2回目の処理結果です。

2 回目の ActiveWindow.Zoom = a の実行結果です。表示倍率が 200% になっています。
2 回目の ActiveWindow.Zoom = a の実行結果です。表示倍率が 200% になっています。
2 回目の MsgBox 関数の実行結果です。表示倍率を 200% に変更しました。と表示されています。
2 回目の MsgBox 関数の実行結果です。表示倍率を 200% に変更しました。と表示されています。

3 回目の処理結果です。

3 回目の ActiveWindow.Zoom = a の実行結果です。表示倍率が 100% に戻っています。
3 回目の ActiveWindow.Zoom = a の実行結果です。表示倍率が 100% に戻っています。
3 回目の MsgBox 関数の実行結果です。表示倍率を 100% に変更しました。と表示されています。
3 回目の MsgBox 関数の実行結果です。表示倍率を 100% に変更しました。と表示されています。

目次まで戻る

テスト環境

  • Windows 10(64 ビット)
  • Microsoft Office Excel 2003

以上、閲覧ありがとうございました。

 

目次まで戻る

同じカテゴリの投稿(Excel VBA)

前後の投稿