ОК, теперь я вижу проблему.
Цель состоит в том, чтобы проверить несколько ячеек подряд, скрывая эту строку, если она не имеет цвета. Но если у ячейки B8 есть целевой цвет ... что произойдет, если у A8 нет? A8 запускает логику c и скрывает строку. Упс.
Попробуйте. Он читает всю строку, проверяя цвет, и, найденный, останавливает чтение этой строки и обрабатывает логику скрытия c, а затем переходит к следующей строке:
Sub Hiderows()
Dim r As Range
Dim hasColor As Boolean
hasColor = False
Application.ScreenUpdating = False
Range("A7").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
For Each r In Selection.Rows
For Each c In r.Columns
If c.Interior.Color = RGB(255, 124, 128) Or c.Interior.Color = RGB(255, 255, 163) Then
hasColor = True
Exit For
End If
Next
r.EntireRow.Hidden = Not hasColor
hasColor = False
Next
Range("A7").Select
Application.ScreenUpdating = True
End Sub