教えて!ExcelVBA!

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

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

シートを表示/非表示にするには「Visible」を使います。

構文

構文は以下の通りです。

' シートを非表示にする
Sheets("シート名").Visible = False
' シートを表示する
Sheets("シート名").Visible = True

Visibleプロパティは、シートオブジェクトに対して使用することができるプロパティです。このプロパティは、シートを表示(Visible=True)または非表示(Visible=False)にするために使用します。

シートのVisibleプロパティには、以下の3つの設定が可能です。
・xlSheetVisible(シートを表示する)
・xlSheetHidden(シートを隠す)
・xlSheetVeryHidden(シートを非表示にする)

通常、シートの表示/非表示を制御する際には、VisibleプロパティにxlSheetVisibleまたはxlSheetHiddenを設定します。xlSheetVisibleはシートを表示し、xlSheetHiddenはシートを隠します。一方、xlSheetVeryHiddenはユーザーがシートを表示する方法を知らない限り、非表示になります。このプロパティは、シートのセキュリティを強化するために使用されます。

使い方

Visibleプロパティの使い方を説明します。

(1)シートを表示する場合

Worksheets("Sheet1").Visible = True

上記のコードは、"Sheet1"というシートを表示します。VisibleプロパティにTrueを設定することで、シートが表示されます。

(2)シートを隠す場合

Worksheets("Sheet1").Visible = False

上記のコードは、"Sheet1"というシートを隠します。VisibleプロパティにFalseを設定することで、シートが隠されます。

(3)シートを非表示にする場合

Worksheets("Sheet1").Visible = xlSheetVeryHidden

上記のコードは、"Sheet1"というシートを非表示にします。VisibleプロパティにxlSheetVeryHiddenを設定することで、シートが非表示になります。

プログラミング例

以下に、Visibleプロパティの使用例を示します。

Sub SheetVisibilityExample()
    ' シートを表示する
    Worksheets("Sheet1").Visible = True
    ' シートを隠す
    Worksheets("Sheet2").Visible = False
    ' シートを非表示にする
    Worksheets("Sheet3").Visible = xlSheetVeryHidden
End Sub

上記のコードでは、Sheet1を表示し、Sheet2を隠し、Sheet3を非表示にしています。それぞれのシートのVisibleプロパティに適切な値を設定することで、シートの表示状態を制御することができます。

まとめ

Visibleプロパティを使用することで、シートの表示や非表示を簡単に制御することができます。xlSheetVisibleを設定するとシートが表示され、xlSheetHiddenを設定するとシートが隠されます。さらに、xlSheetVeryHiddenを設定するとシートは非表示になり、ユーザーが表示する方法を知らない限り見ることができません。