行単位・列単位で表示/非表示を切り替えたり、セルの表示状態を取得したい場合、 Hidden プロパティを使用します。値の設定は行単位または列単位で行う必要があり、True を設定すると非表示状態、Flase を設定すると表示状態となります。値の設定と同様に値の取得も行単位または列単位で行います。
AutoFilter メソッド でフィルタをかけた後、表示された行のみを処理の対象としたい場合はこの Hidden プロパティで表示の判断を行うとよいでしょう。
Hiddenプロパティの使用例
複数行、複数列の非表示
Hidden プロパティの値の設定と取得例です。以下の例では表内の複数行および列を非表示にした後、行の Hidden プロパティをイミディエイトウィンドウへ表示します。
Sub sample_b06i_01()
Dim wRow As Integer
'4~6行目を非表示
Rows("4:6").Hidden = True
'C~D列を非表示
Columns("C:D").Hidden = True
'表内(3~13行目)のHiddenプロパティをイミディエイトウィンドウへ表示
For wRow = 3 To 13
Debug.Print Format(wRow, "00") & "行目:Hidden = " & _
Rows(wRow).Hidden
Next wRow
End Sub
下図はマクロ実行前の状態で、すべての行と列が表示されています。
マクロを実行すると4~6行目とC~D列が非表示になりました。
非表示の解除
アクティブシートの行・列をすべて表示する例です。
Sub sample_b06i_02()
'アクティブシートの行をすべて表示
Rows.Hidden = False
'アクティブシートの列をすべて表示
Columns.Hidden = False
End Sub