poison1701
Programmer
I would like to have a toggle button on a spreadsheet that is able to hide/unhide a row if any cell in that row has a background color of red.
Using code I have found, I came up with the following, but it will only hide a row if it's empty.
Sub HideRedRows(Mode As Boolean)
Dim r As Range
Dim i As Long
Set r = ActiveSheet.UsedRange.Rows(1)
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If WorksheetFunction.CountA(r) = 0 Then
Set r = r.Offset(1, 0)
r.Offset(-1, 0).EntireRow.Hidden = Mode
Else
Set r = r.Offset(1, 0)
End If
Next i
Set r = Nothing
End Sub
Private Sub ToggleButton1_Click()
Select Case ToggleButton1.Value
Case True
HideRedRows (ToggleButton1.Value)
ToggleButton1.Caption = "Unhide Rows"
Case False
HideRedRows (ToggleButton1.Value)
ToggleButton1.Caption = "Hide Rows"
End Select
End Sub
Using code I have found, I came up with the following, but it will only hide a row if it's empty.
Sub HideRedRows(Mode As Boolean)
Dim r As Range
Dim i As Long
Set r = ActiveSheet.UsedRange.Rows(1)
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If WorksheetFunction.CountA(r) = 0 Then
Set r = r.Offset(1, 0)
r.Offset(-1, 0).EntireRow.Hidden = Mode
Else
Set r = r.Offset(1, 0)
End If
Next i
Set r = Nothing
End Sub
Private Sub ToggleButton1_Click()
Select Case ToggleButton1.Value
Case True
HideRedRows (ToggleButton1.Value)
ToggleButton1.Caption = "Unhide Rows"
Case False
HideRedRows (ToggleButton1.Value)
ToggleButton1.Caption = "Hide Rows"
End Select
End Sub