セルのHiddenプロパティで表示/非表示

行単位・列単位で表示/非表示を切り替えたり、セルの表示状態を取得したい場合、 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

下図はマクロ実行前の状態で、すべての行と列が表示されています。

sample_b06i_01サンプルデータ
サンプルデータ

マクロを実行すると4~6行目とC~D列が非表示になりました。

sample_b06i_01実行後
sample_b06i_01実行後
  • マクロ実行結果(イミディエイトウィンドウ
    03行目:Hidden = False
    04行目:Hidden = True
    05行目:Hidden = True
    06行目:Hidden = True
    07行目:Hidden = False
    08行目:Hidden = False
    09行目:Hidden = False
    10行目:Hidden = False
    11行目:Hidden = False
    12行目:Hidden = False
    13行目:Hidden = False

非表示の解除

アクティブシートの行・列をすべて表示する例です。

Sub sample_b06i_02()
    'アクティブシートの行をすべて表示
    Rows.Hidden = False
    'アクティブシートの列をすべて表示
    Columns.Hidden = False
End Sub
タイトルとURLをコピーしました