教えて!ExcelVBA!

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

【ExcelVBA シート操作】シートを非表示/表示(Visible)にするにはどうすればいいの?教えて!

構文

構文は以下の通りです。

Worksheets("シート名").Visible = 定数

解説

Visibleプロパティは、シートの表示・非表示を制御するために使用します。「シート名」には操作したいシートの名前を指定します。定数には以下の3つのオプションがあります。

定数 内容
xlSheetVisible シートを表示します。
xlSheetHidden シートを非表示にしますが、タブは残ります。
xlSheetVeryHidden シートを非表示にし、タブも表示されなくなります。

使い方

以下に、具体的な使い方を紹介します。

1.シートを表示する

シートを表示するには、以下のようにxlSheetVisibleを設定します。

Worksheets("シート名").Visible = xlSheetVisible

2.シートを非表示にする

シートを非表示にするには、以下のようにxlSheetHiddenを設定します。

Worksheets("シート名").Visible = xlSheetHidden

3.シートを完全に非表示にする

シートを完全に非表示にするには、以下のようにlSheetVeryHiddenを設定します。

Worksheets("シート名").Visible = xlSheetVeryHidden

プログラミング例

以下に、具体的なプログラミング例を紹介します。

1.条件によってシートを表示・非表示にする

以下の例では、セルA1の値が「表示」の場合はシートを表示し、それ以外の場合は非表示にします。

If Worksheets("シート名").Range("A1").Value = "表示" Then
    Worksheets("シート名).Visible = xlSheetVisible
Else
    Worksheets("シート名").Visible = xlSheetHidden
End If

2.ボタンクリックでシートの表示・非表示を切り替える

以下の例では、ボタンがクリックされるたびにシートの表示・非表示を切り替えます。

Sub ToggleSheetVisibility()
    If Worksheets("シート名").Visible = xlSheetVisible Then
        Worksheets("シート名").Visible = xlSheetHidden
    Else
        Worksheets("シート名").Visible = xlSheetVisible
    End If
End Sub

まとめ

Visibleプロパティを使用することで、シートの表示・非表示を自由に制御することができます。条件分岐やボタンクリックなどのイベントに応じて設定することで、シートの表示・非表示を制御できます。是非活用ください。