Vba: 条件に基づいて行を非表示にする方法


VBA で次の構文を使用すると、セル値に基づいて行を非表示にすることができます。

 SubHideRows ()

    Dim i As Integer
    
    For i = 2 To 10
    
        If Cells(i, 1).Value = " Mavs " Then
            Cells(i, 1).EntireRow.Hidden = True
        Else
            Cells(i, 1).EntireRow.Hidden = False
        End If
        
    Next i

End Sub

この特定のマクロは、最初の列に「Mavs」に等しいセル値を持つ 2 ~ 10 の範囲内のすべての行を非表示にします。

次のマクロを使用してすべての行を表示することもできます。

 SubUnhideRows ()
    Rows.EntireRow.Hidden = False
End Sub

次の例は、この構文を実際に使用する方法を示しています。

例: VBA を使用して条件に基づいて行を非表示にする

さまざまなバスケットボール選手に関する情報を含む次のデータセットがあるとします。

チーム列に「Mavs」を含むすべての行を非表示にしたいとします。

これを行うには、次のマクロを作成できます。

 SubHideRows ()

    Dim i As Integer
    
    For i = 2 To 10
    
        If Cells(i, 1).Value = " Mavs " Then
            Cells(i, 1).EntireRow.Hidden = True
        Else
            Cells(i, 1).EntireRow.Hidden = False
        End If
        
    Next i

End Sub

このマクロを実行すると、次の出力が表示されます。

チーム列に「Mavs」を含むすべての行が非表示になっていることに注意してください。

必要に応じて、次のマクロを作成してすべての行を表示できます。

 SubUnhideRows ()
    Rows.EntireRow.Hidden = False
End Sub

このマクロを実行すると、次の出力が表示されます。

すべての行が再度表示されることに注意してください。

このマクロでは、条件に基づいて 2 から 10 までの行を非表示にするためにFor i = 2 To 10を指定していることに注意してください。

これらの開始値と終了値を自由に変更して、別の行範囲の行を非表示にします。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: 条件付き書式をセルに適用する方法
VBA: 範囲内の行数をカウントする方法
VBA: 特定のテキストを含むセルを数える方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です