Hidden プロパティ
Hidden プロパティに True を設定することで、行または列(Range オブジェクト)を非表示にします。また、Falese を設定すると、再表示させることができます。
【書式】
<取得>
result = Object.Hidden
<設定>
Object.Hidden = boolean
引数・戻り値
- object ・・・ 行または列の集合となる Range オブジェクトを指定します。
Rows プロパティ、Columns プロパティ、任意のセル範囲に対する EntireRow プロパティ、 任意のセル範囲に対する EntireColumn プロパティ - result ・・・ 非表示の場合、True、非表示でない場合、False
Rows プロパティまたは、Columns プロパティに引数を指定せずに取得したセル範囲に対して、Hidden プロパティの値を False に設定することで、非表示にされているセル範囲をすべて再表示することができます。(フィルターの結果によって非表示になっているセル範囲は除きます)
非表示の行または列があるかを確認する場合、1行毎または1列毎に確認します。
フィルターの結果によって非表示になっているセル範囲に対して、Hidden プロパティに False を設定しても再表示することはできませんが、Hidden プロパティの値を取得することは可能です(フィルターで非表示になっている場合も True を返します)。
Hidden プロパティ 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
Sub Sample_Hidden() Dim myRng As Range Dim HRowCnt As Long '非表示の行数 Dim HColCnt As Long '非表示の列数 Dim i As Long Set myRng = Range("A1").CurrentRegion 'フィルター myRng.AutoFilter _ Field:=3, _ Criteria1:=Array("男"), _ Operator:=xlFilterValues 'セル範囲「A7:C8」を含む行を非表示にする Range("A7:C8").EntireRow.Hidden = True 'B列を非表示にする Columns(2).Hidden = True '非表示の行数を求める For i = myRng.Cells(1).Row To myRng.Cells(myRng.Cells.Count).Row If Rows(i).Hidden = True Then HRowCnt = HRowCnt + 1 End If Next i '非表示の列数を求める For i = myRng.Cells(1).Column To myRng.Cells(myRng.Cells.Count).Column If Columns(i).Hidden = True Then HColCnt = HColCnt + 1 End If Next i MsgBox "非表示の行数:" & HRowCnt & Chr(13) & _ "非表示の列数:" & HColCnt End Sub |
実行結果
サンプルVBA 実行前
実行