Excelシートの表示・非表示

<< エクセルVBAでExcelシートをコピーする :前の記事

こちらでは、SheetsコレクションオブジェクトVisibleプロパティを利用して、Excelの指定したシートを表示・非表示にする方法について解説しています。

プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。

オブジェクト名.プロパティ名

また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。

オブジェクト名.プロパティ名 = 設定値

目次

はじめに

こちらでは、Visibleプロパティを利用したExcelの指定したシートを表示・非表示にする方法について解説します。今回は、SheetsコレクションオブジェクトのVisibleプロパティを利用しますが、VisibleプロパティはSheetsコレクションオブジェクト以外でも利用されますので、どのオブジェクトで利用できるかも確認してください。

利用するプロパティについて

今回利用するプロパティは以下になります。

Visibleプロパティとは

SheetsコレクションオブジェクトのVisibleプロパティ指定されたシートを表示するか、非表示にするかを設定します。

Sheets("シート名").Visible = 設定値
Sheets(インデックス番号).Visible = 設定値

指定したシートを非表示にするサンプルコード

今回のVBAコードはExcelの指定したシートを非表示にするマクロになります。


Sub sample()

    Sheets("Sheet1").Visible = False

End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

実行結果

「Sheet1」シートが非表示になります。(メニューバーには表示されます。)

エクセルVBAのVisibleプロパティの結果1

解説

sampleプロシージャSubステートメントに引数は設定されていません。Sheetsコレクションオブジェクトには「Sheet1」シートが設定されています。そして、「Sheet1」シートオブジェクトのVisibleプロパティに「False」が設定されていますので、処理を実行すると「Sheet1」シートが非表示になります。最後はEndステートメントを利用してsampleプロシージャを終了させます。

今回、「False」を指定して非表示にしましたが、こちらは以下のようにメニューバーから手動で表示させることができます。

エクセルVBAのVisibleプロパティの結果2

また、Visibleプロパティには以下の組み込み定数が用意されています。

定数内容
xlSheetHidden0シートを非表示にします。(Falseと同等)
xlSheetVisible1シートを表示にします。(Trueと同等)
xlSheetVeryHidden2シートを非表示にし、メニューバーからも再表示できないようにします。xlSheetVisibleを設定しない限り解除できません。

以下のように「xlSheetHidden」または、「0」を設定しても同様の結果になりますので、ご確認ください。


Sub sample()

    Sheets("Sheet1").Visible = xlSheetHidden

End Sub

※ドラッグ(スワイプ)すると全体を確認できます。


Sub sample()

    Sheets("Sheet1").Visible = 0

End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

指定したシートを表示にするサンプルコード

今回のVBAコードはExcelの指定したシートを表示にするマクロになります。


Sub sample()

    Sheets("Sheet1").Visible = True

End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

実行結果

非表示の「Sheet1」シートを表示します。

エクセルVBAのVisibleプロパティの結果3

解説

Sheetsコレクションオブジェクトには「Sheet1」シートが設定されています。そして、「Sheet1」シートオブジェクトのVisibleプロパティに「True」が設定されていますので、処理を実行すると「Sheet1」シートが表示になります。

こちらも以下のように組み込み定数の「xlSheetVisible」または、「1」を設定しても同様の結果になりますので、ご確認ください。


Sub sample()

    Sheets("Sheet1").Visible = xlSheetVisible

End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

指定したシートを非表示(メニューバーからも非表示)にするサンプルコード

今回のVBAコードはExcelの指定したシートを非表示(メニューバーからも非表示)にするマクロになります。


Sub sample()

    Sheets("Sheet1").Visible = xlSheetVeryHidden

End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

実行結果

「Sheet1」シートが非表示になります。(メニューバーからも表示されません。)

エクセルVBAのVisibleプロパティの結果1

解説

Sheetsコレクションオブジェクトには「Sheet1」シートが設定されています。そして、「Sheet1」シートオブジェクトのVisibleプロパティに「xlSheetVeryHidden」が設定されていますので、処理を実行すると「Sheet1」シートが非表示になります。更にこちらは非表示になっただけでなく以下のようにメニューバーからも表示されません。再度表示させるには「True」を再設定する必要がありますので、覚えておきましょう。

エクセルVBAのVisibleプロパティの結果4

まとめ

今回は、SheetsコレクションオブジェクトのVisibleプロパティを利用して、Excelの指定したシートを表示・非表示にする方法について解説しました。今回のプロパティは組み込み定数が設定されていましたので、併せて覚えましょう。次回は、エクセルVBAでExcelシート見出しを表示・非表示にする方法について解説します。

エクセルVBAのワークシート操作一覧

次の記事: エクセルVBAでExcelシート見出しを表示・非表示にする >>

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。

VBAのIE操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。

目次

VBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。