EXCEL VBA 表示画面のコントロール①(アクティブウィンドウの参照、表示画面の拡大縮小:ActiveWindow/Zoom)

EXCEL VBA 表示画面のコントロール①(アクティブウィンドウの参照、表示画面の拡大縮小:ActiveWindow/Zoom)

 

 ●はじめに
EXCEL等で、表などを作成した時に表をユーザーに見やすくするためEXCELの画面表示を拡大縮小して画面の大きさに対して調整を行うと思いますが、EXCEL VBAでは、Zoomプロパティを使って調整する事ができます。複数のシートを一括に拡大縮小する際には、便利な機能たど思います。また、現在のアクティブウィンドウの数やタイトル名を取得するWindowオブジェクトの利用方法も併せて説明いたします。

 

 

 ●書式の説明
Application.Window
Application.ActiveWindow※現在の開いているウインドウの数を取得及びタイトル名を取得する。
使用例:A = Windows.count    ‘ウインドウ数を取得(数値)
使用例:B = ActiveWindow.Caption ‘タイトル名を取得(文字列)オブジェクト.Zoom

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

※指定した範囲に対してウインドの表示倍率を変更する使用例:A = ActiveWindows.Zoom ‘表示倍率を取得
使用例:ActiveWindow.Zoom = 120 ‘表示倍率を120%にする。

 

 

現在の開いているウインドウ数(ブック数)とアクティブウィンドウのタイトル名を取得

 

 

 ●プログラム説明 (サンプル①) Windows.Count    ActiveWindow.Caption  
下記のサンプルプログラムは、現在開いているウィンド数(ブックの数)と現在のアクティブウィンドウのタイトル名を表示するプログラムです。

 

 

 

●実行前~実行後 ※上記のプログラムを実行しますと、現在開いているウィンドウ数とアクティブウィンドウのタイトル名がメッセージボックスに表示しました。
(画面クリックして拡大)

 

 

ウィンドウ表示されてる表示倍率の変更・設定

 

 

 ●プログラム説明 (サンプルプログラム②)

下記のサンプルプログラムは、現在開いているアクティブウィンドに表示されている表に対して、ウインドのサイズに合わせて拡大縮小表示させるプログラムです。

『実行手順』
①表の範囲を選択します。
②ウインドの大きさに対して拡大または縮小表示させます。
(ActiveWindow.Zoom = True で自動調整 )
③表示サイズを変更した値をメッセージボックスにて表示させます。
④元のサイズ100%へ戻します。
⑤サイズを戻したことをメッセージボックスにて表示させます。

 

 

 

 

 ●実行前~実行後 ※上記のプログラムを実行するとウインドの大きさに対して、表が拡大表示されました。
(画面クリックして拡大)

 

 

各シートにある表を画面のサイズに合わせて拡大縮小(全シート実行)

 

 

 ●プログラム説明 (サンプルプログラム③)

下記のサンプルプログラムは、各シートにある表を画面サイズに合わせて拡大縮小させるサンプルプログラムです。(シートが表示倍率が100%の場合は、画面

『実行手順』
①下図の通りに、ブックのシート毎(Sheet1~3)に、100%で表が表示されています。
②Sheet1から順番に表のサイズ範囲を選択します。
③現在のアクティブシートの表示倍率を取得します。
④現在のアクティブシートの表示倍率が100%の場合は、画面サイズに合わせて倍率変更
表示倍率が100%以外の場合は、画面サイズを100%に戻します。
⑤全てのシートに対して②~④を実行します。

 

 

 

 ●実行前~実行後 ※プログラム実行後、各シート毎に表示されている表が画面サイズに合わせて表示倍率が変更されました。 ※再度実行すると100%表示に戻ります。
(画面クリックして拡大)

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。