行/列を非表示にする(Hiddenプロパティ)|Excel VBA |
HiddenプロパティにTrueを設定することで、行または列を非表示にします。単体のセルやセル範囲では、Hiddenプロパティの値を取得し、セルが表示されているかどうかを調べることはできますが、値を設定して表示/非表示を切り替えることはできません。
構文 Object.Hidden 設定/取得
設定項目 | 内容 |
---|---|
Object | 行/列を表すRangeオブジェクト |
次のサンプル1は、A列のセルの値が1の時、その行を非表示にします。
Sub Sample1()
Dim LastRow As Long
Dim i As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To LastRow
If Cells(i, 1) = 1 Then Rows(i).Hidden = True
Next i
End Sub
次のサンプルは、非表示にした行をすべて再表示します。
Sub Sample2()
Rows.Hidden = False
End Sub
行や列の削除の場合、行番号や列番号が変化していくために、ループして処理する場合には番号の大きいほうから処理していく必要がありましたが、非表示にする場合には番号は変化しませんので、普通に小さい番号からループさせても大丈夫です。
また、非表示にしているセル範囲を参照することも可能です。