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

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 行目を非表示
Rows("5:5").Hidden = True ' 5 行目を非表示
2

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

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

Sheet1 を指定するにはWorksheets("Sheet1")またはWorksheets(1)を入力します。

sheet1

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

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

Sheet1 に Rows を入力すると、自身のシートの行になります。自身を表すMe.が省略されています。


' どちらも同じコード
Dim r As Range
Set r = Rows(1)
Set r = Me.Rows(1)

標準モジュールに Rows を入力すると、アクティブなシートの行になります。アクティブシートを表すActiveSheet.が省略されています。


' どちらも同じコード
Dim r As Range
Set r = Rows(1)
Set r = ActiveSheet.Rows(1)
  • 目次
    • 行を非表示する
    • 行を表示する
    • 行が非表示になっているか判定する
    • 行の範囲を非表示する
    • 指定したシートの行を非表示する