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: 特定のテキストを含むセルを数える方法