Здравствуйте. Есть код фильтра по цвету ячейки. Но в моем "Excel" возникают проблемы с цветом. В коде нужно изменить вместо поиска цвета на условие если значение в ячейке ">0". Макрос должен двигаться по столбцу AC (29) от ячейки "АС43" вверх. Если найдет ячейку из значением ">0" (в данном случае "АС18"), тогда от этой ячейки вниз скрыть все строки. Спасибо.
[вложение удалено администратором]
Макрос
Sub Фильтр()
'В константе "lngStartRow" нужно указать порядковый номер
'Excel-строки, с которой начинаются данные (шапка таблицы не учитываются,
'только данные учитываются).
Const lngStartRow As Long = 14
'В константе "lngStartRow" нужно указать порядковый номер последней Excel-строки.
Const lngEndRow As Long = 43
Dim arrAC() As Variant
Dim i As Long
'Взятие данных из Excel в VBA-массив для ускорения работы макроса.
arrAC() = Range("AC1:AC" & lngEndRow).Value
'Двигаемся по массиву "arrAC" снизу вверх.
For i = UBound(arrAC, 1) To lngStartRow Step -1
'Если в ячейке число.
'Нужно делать проверку, иначе может быть ошибка при сравнении
'данных из ячейки с нулём, если в ячейке будет не число,
'а что-то другое.
If IsNumeric(arrAC(i, 1)) = True Then
'Если число больше нуля.
If arrAC(i, 1) > 0 Then
'Проверка, что это не строка 43, т.к.
'под стококой 43 ничего скрывать не надо.
If i = lngEndRow Then
'Выход из цикла, т.к. нужно было найти первое попавшееся число > 0.
Exit For
End If
'Скрытие строк.
Rows(i + 1 & ":" & lngEndRow).Hidden = True
'Выход из цикла, т.к. нужно было найти первое попавшееся число > 0.
Exit For
End If
End If
Next i
End Sub
Спасибо пребольшое.