VBA で行や列の表示/非表示を切り替える場合は、Hidden プロパティを使用します。ここでは、Hidden プロパティの使い方について説明します。
Hidden プロパティの使い方
Hidden プロパティの構文は以下の通りです。
1 2 |
Rows(対象の行).Hidden = True または False Columns(対象の列).Hidden = True または False |
行の場合は Rows、列の場合は Columns で取得したオブジェクトに対して、Hidden プロパティに論理値を指定して表示/非表示を切り替えます。 Hidden プロパティは True で非表示、Falseで表示となります。
以下は、3行目とB列を非表示にする例です。
1 2 |
Rows(3).Hidden = True '行(3)を非表示 Columns(2).Hidden = True 'B列を非表示 |
上のプログラムを実行すると以下のような結果になります。
以下のように記述した場合も同様の結果になります。
1 2 |
Rows("3").Hidden = True '行(3)を非表示 Columns("B").Hidden = True 'B列を非表示 |
再表示するためには、以下のように False を設定します。
1 2 |
Rows(3).Hidden = False '行(3)を再表示 Columns(2).Hidden = False 'B列を再表示 |
複数行や複数列の表示・非表示を切り替える
以下のように行や列をコロンで指定することによって複数行、複数列を一括で表示/非表示を切り替えるとができます。
1 2 |
Rows("3:5").Hidden = True Columns("C:E").Hidden = True |
上のプログラムを実行すると3, 4, 5行目、C, D, E列が非表示になります。
指定したセルの行や列の表示・非表示を切り替える
EntireRow, EntireColumn プロパティを使うと、単一セルから行や列の表示/非表示が切り替えられて便利です。
1 2 |
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列が非表示になります。