Страницы: 1
RSS
Количество вхождений, удовлетворяющих заданным условиям
 
Добрый день.
помогите пжлст написать макрос который будет считать количество вхождений удовлетворяющих заданным параметрам.
есть диапазон закрашенных ячеек в столбце А.
я нашел (благодаря вашему форуму) диапазон с какой ячейки начинается и заканчивается заливка. желтый цвет.
N - номер строки с которой начинается
Z - номер строки с которой заканчивается

нужно задать диапазон с N и Z
в рамках этого диапазона провести проверку сколько строк удовлетворяющих условиям:
1. если ячейка в столбце А закрашена жёлтым
2. если ячейка в столбце B равна 1
3. если ячейка в столбце С равна "годен"
Код
    Dim rgPoisk As Range, kol As Long, N,Z As Variant
    For Each rgPoisk In ActiveSheet.Range(Cells(N, 1), Cells(Z, 1))
        kol =0
        If Cells(rgPoisk, 1).Interior.Color = x And Cells(rgPoisk, 2) = 1 And Cells(rgPoisk, 3) = "годен" Then
        kol = kol + 1
        Else: End If
    Next rgPoisk
    Debug.Print kol
End Sub
не работает :(
помогите пжлст))
 
inicman1991, файл-пример есть?
а так попробуйте:
Код
Sub mrshkei()
Dim lr As Long, i As Long, k As Long
k = 0
lr = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lr
    If Cells(i, 1).Interior.ColorIndex = 6 And Cells(i, 2) = 1 And Cells(i, 3) = "годен" Then k = k + 1
Next i
Debug.Print k
End Sub

Изменено: Mershik - 19.09.2021 13:58:58
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, тогда тут не учитывается начальная строка N и конечная Z для сокращения анализируемого диапазона
во вложении копия. просто если не учитывать этот диапазон, макрос будет очень долго работать. в файле на котором буду этот алгоритм отрабатывать содержит порядка 30000 строк, и для быстроты анализа хочу из 30000 строк выделить те самые 100-150 для работы

во вложении демо с макросом
 
если возможно использовать автофильтр

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
Страницы: 1
Наверх