Forum Discussion
Yash9154
Jun 17, 2023Copper Contributor
Dynamic Rows Hide/Unhide through VBA on the basis of value selected from dropdown
Hi, I want a dynamic solution for below requirements: Requirement: if a user select any value from the dropdown then it should make visible only those row which contains the same value in col...
- Jun 17, 2023
In the worksheet module:
Private Sub Worksheet_Change(ByVal Target As Range) Dim s As String Dim c As Range Dim v As Range If Not Intersect(Range("B2"), Target) Is Nothing Then Application.ScreenUpdating = False Application.EnableEvents = False Cells.EntireRow.Hidden = False s = Range("B2").Value Select Case s Case "All", "" ' We're done Case Else For Each c In Range("A5:A37") If c.Value <> s And c.Offset(0, 1).Value <> s Then If v Is Nothing Then Set v = c Else Set v = Union(v, c) End If End If Next c If Not v Is Nothing Then v.EntireRow.Hidden = True End If End Select Application.EnableEvents = True Application.ScreenUpdating = True End If End Sub
HansVogelaar
Jun 17, 2023MVP
In the worksheet module:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As String
Dim c As Range
Dim v As Range
If Not Intersect(Range("B2"), Target) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
Cells.EntireRow.Hidden = False
s = Range("B2").Value
Select Case s
Case "All", ""
' We're done
Case Else
For Each c In Range("A5:A37")
If c.Value <> s And c.Offset(0, 1).Value <> s Then
If v Is Nothing Then
Set v = c
Else
Set v = Union(v, c)
End If
End If
Next c
If Not v Is Nothing Then
v.EntireRow.Hidden = True
End If
End Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub