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

VBA 行を非表示にする

はじめに

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

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

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

行を非表示する

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

行「2」を非表示にするには Rows(2).Hidden = True のように指定します。

Rows(2).Hidden = True
1

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

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

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

行を表示する

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

Rows(2).Hidden = False
Range("A1").EntireRow.Hidden = False

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

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

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

行の範囲を非表示する

行の範囲「2 ~ 3」を非表示にするには Rows("2:3").Hidden = True のように指定します。

Rows("2:3").Hidden = True ' 2 ~ 3 行目を非表示
2

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

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

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

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

1

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

' Sheet1 の行「1」を非表示
Sheets("Sheet1").Rows(1).Hidden = True
Sheets(1).Rows(1).Hidden = True

' Sheet2 の行「1」を非表示
Sheets("Sheet2").Rows(1).Hidden = True
Sheets(2).Rows(1).Hidden = True

関連ページ