Excel VBAで行や列の表示・非表示を切り替える:Hidden

VBA で行や列の表示/非表示を切り替える場合は、Hidden プロパティを使用します。ここでは、Hidden プロパティの使い方について説明します。

Hidden プロパティの使い方

Hidden プロパティの構文は以下の通りです。

Rows(対象の行).Hidden = True または False
Columns(対象の列).Hidden = True または False

行の場合は Rows、列の場合は Columns で取得したオブジェクトに対して、Hidden プロパティに論理値を指定して表示/非表示を切り替えます。 Hidden プロパティは True で非表示、Falseで表示となります。

以下は、3行目とB列を非表示にする例です。

Rows(3).Hidden = True       '行(3)を非表示
Columns(2).Hidden = True    'B列を非表示

上のプログラムを実行すると以下のような結果になります。

vba_hidden1

以下のように記述した場合も同様の結果になります。

Rows("3").Hidden = True       '行(3)を非表示
Columns("B").Hidden = True    'B列を非表示

再表示するためには、以下のように False を設定します。

Rows(3).Hidden = False      '行(3)を再表示
Columns(2).Hidden = False   'B列を再表示

複数行や複数列の表示・非表示を切り替える

以下のように行や列をコロンで指定することによって複数行、複数列を一括で表示/非表示を切り替えるとができます。

Rows("3:5").Hidden = True
Columns("C:E").Hidden = True

上のプログラムを実行すると3, 4, 5行目、C, D, E列が非表示になります。

vba_hidden2

指定したセルの行や列の表示・非表示を切り替える

EntireRow, EntireColumn プロパティを使うと、単一セルから行や列の表示/非表示が切り替えられて便利です。

Cells(3, 3).EntireRow.Hidden = True     'Cells(3,3)を含む行全体を隠す
Cells(4, 4).EntireColumn.Hidden = True  'Cells(4,4)を含む列全体を隠す

上のプログラムを実行すると、Cells(3, 3) と Cells(4, 4) を含む3行目とD列が非表示になります。

vba_hidden3