こんにちは、Ryoです。
ExcelのVBAを扱う中で利用機会は少ないものの、知っておくと便利だと思われる「ウィンドウの表示/非表示」「改ページプレビュー/標準ビュー表示」「シート見出しの表示/非表示」の方法について今回はまとめてみました。
1.サンプル概要
Sheetに未入力ですとビュー表示の都合上わかりにくいので、適当に枠線のみ設定したシートをアクティブにして動作させます。
動作としては、
①ウィンドウの表示/非表示を切り替える
②改ページプレビュー表示⇒標準ビュー表示
③シート見出しの表示/非表示を切り替える
これらをメッセージボックスで表示させながら順次実行していきます。
◆ウィンドウ表示/非表示
◆改ページプレビュー/標準ビュー
◆シート見出しの表示/非表示
では、次にサンプルコードを書いていきます。
2.サンプルコード
Sub Sample1() '現在開いている(アクティブ)ウィンドウに対する処理 With ActiveWindow '***ウィンドウの表示/非表示を切り替える*** MsgBox "ウィンドウを非表示にします", vbInformation .Visible = False MsgBox "ウィンドウを再表示します" .Visible = True '************************ '***改ページプレビューで表示する*** MsgBox "改ページプレビューで表示します", vbInformation .View = xlPageBreakPreview MsgBox "標準のビューに戻します" .View = xlNormalView '******************** '***シート見出しの表示/非表示を切り替える*** MsgBox "シート見出しを非表示にします", vbInformation .DisplayWorkbookTabs = False MsgBox "シート見出しを元に戻します" .DisplayWorkbookTabs = True '************************* End With End Sub
このサンプルコードを実行すると、サンプル概要で示した通り「ウィンドウ表示/非表示」「ビュー切替」「シート見出し表示/非表示」を順に行います。
それぞれ実行する為に必要なプロパティ、構文については以下の通りです。
◆ウインドウの表示/非表示⇒Visibleプロパティ
ウィンドウの表示/非表示を設定するにはVisibleプロパティを使用します。
オブジェクト.Visible = True 又は False
Falseを指定することで非表示となりますので、例えばVBAの処理上でしか使用しないブックなどがあれば、ユーザーの目に触れる必要も無いので非表示にすることができます。
◆プレビュー表示⇒Viewプロパティ
ウインドウに表示するビューを指定するにはViewプロパティを使用します。
オブジェクト.View = 定数
構文の定数部分はXlWindow Viewクラスの定数を指定することで「標準ビュー」「改ページプレビュー」「ぺージレイアウトビュー」の選択が可能になります。
定数 | 内容 |
xlNormalView | 標準ビュー |
xlPageBreakPreview | 改ページプレビュー |
xlPageLayoutView | ページレイアウトビュー(2007以降) |
◆見出し表示/非表示⇒DisplayWorkbookTabsプロパティ
Sheetの見出し表示/非表示を切り替えるにはDisplayWorkbookTabsプロパティを使用します。
オブジェクト.DisplayWorkbookTabs = True または False
True指定で「表示」、False指定で「非表示」になります。
ちなみに値として取得も可能なので、次のサンプルのように「非表示化」した状態を判定させることもできます。
Sub Sample2() With ActiveWindow .DisplayWorkbookTabs = False '非表示化 If .DisplayWorkbookTabs = False Then MsgBox "このSheetの見出しは現在「非表示」です" End If .DisplayWorkbookTabs = True '元に戻す End With End Sub
3.まとめ
今回は主にウィンドウ操作に関する内容について書いてみましたが、使い道は限られるものの簡単に扱えるものなので知っておいて損はないと思います。
特にVisibleプロパティは表示/非表示を設定するので、Worksheetの表示/非表示などにも使えますから機会があればご検討くださいませ。
以上、ウィンドウを操作する(表示/見出し/ビュー)方法についてでした!今回の記事が何かの参考になれば幸いです。
Ryo