サイトについて      連絡先   検索

VBA 列を非表示にする

はじめに

Excel VBA の列を非表示する方法を紹介します。

Columns.Hidden プロパティか Range.Hidden プロパティから列を非表示できます。

Hidden プロパティで列が非表示になっているか判定ができます。

列を非表示する

Columns の引数に列番号を指定すると、その列を非表示できます。

列「B」を非表示にするには Columns(2).Hidden = True または Columns("B").Hidden = True のように指定します。

Columns(2).Hidden = True
Columns("B").Hidden = True
1

Range.EntireColumn を使用すると、指定したセルの列を取得できます。

セル「A1」の列を非表示するには Range("A1").EntireColumn.Hidden = True のように指定します。

Range("A1").EntireColumn.Hidden = True

列を表示する

列を表示するには Hidden = False のように指定します。

Columns(1).Hidden = False
Columns("A").Hidden = False
Range("A1").EntireColumn.Hidden = False

列が非表示になっているか判定する

Hidden が True なら非表示になっています。

' 列「A ~ J」で非表示になっている列を表示します。
Dim l As Long
For l = 1 To 10
    If Columns(l).Hidden = True Then
        Columns(l).Hidden = False
    End If
Next

列の範囲を非表示する

列の範囲「B ~ C」を非表示するには Columns("B:C").Hidden = True のように指定します。

Columns("B:C").Hidden = True ' 列「B ~ C」を非表示
2

指定したシートの列を非表示する

Columns.Hidden とコードに書くと、アクティブなシートの列を非表示します。これは ActiveSheet.Columns.Hidden の ActiveSheet が省略されています。

' どちらも同じコード
Columns(1).Hidden = True
ActiveSheet.Columns(1).Hidden = True

シートを指定するには Sheets の引数にシート名またはインデックスを指定します。

1

Sheet1 のシートを指定するには、Sheets("Sheet1") か Sheets(1) と書きます。

' Sheet1 の列「A」を非表示
Sheets("Sheet1").Columns(1).Hidden = True
Sheets(1).Columns(1).Hidden = True

' Sheet2 の列「A」を非表示
Sheets("Sheet2").Columns(1).Hidden = True
Sheets(2).Columns(1).Hidden = True

関連ページ