Я использую этот код в нескольких документах, чтобы скрыть строки в зависимости от цвета заполнения ячеек в выбранном столбце (за некоторыми исключениями).
Теперь я хотел бы автоматизировать его, чтобы не делать приходится каждый раз вручную выбирать столбец, как показано ниже:
- L oop через первые только 3 видимых столбца (поскольку все остальные столбцы всегда скрыты в файле ).
- Если какая-либо из первых 5 ячеек в столбце соответствует «Apple», «Banana» или «Orange», скрыть строки, содержащие ячейки, заполненные указанным цветом.
- L oop через все листы.
Вот код, спасибо.
Dim r As Range, Blankcount As Long
Dim s As String, v As Variant
Blankcount = 0
s = "APPLE,BANANA,ORANGE"
v = Split(s, ",")
For Each r In Selection
If r.Interior.Color = 16777215 And Len(r) = 0 Then
Blankcount = Blankcount + 1
Else
Blankcount = 0
End If
If IsError(Application.Match(r.Value, v, 0)) And _
r.Interior.Color = RGB(0, 0, 0) Or r.Interior.Color = RGB(0, 51, 0) Or r.Interior.Color = RGB(17, 17, 17) Then
r.EntireRow.Hidden = True
End If
If Blankcount = 10 Then Exit Sub
Next
End Sub