Страницы: 1
RSS
Посчитать количество приходов в промежутке дат с помощью формулы на VBA
 
Доброго времени суток, прошу помочь найти и исправить ошибку в FormulaLocal.
Пытаюсь перевести формулу в vba, чтобы она использовала диапазон до последней заполненной строки в столбце "B" в листе1:
Код
=СУММ(Ч(ЧАСТОТА(ПОИСКПОЗ('5лист'!B2:B10000&'5лист'!C2:C10000;'5лист'!B2:B10000&'5лист'!C2:C10000;);('5лист'!B2:B10000>=--A1)*('5лист'!B2:B10000<=--A2)*('5лист'!E2:E10000=A3)*ПОИСКПОЗ('5лист'!B2:B10000&'5лист'!C2:C10000;'5лист'!B2:B10000&'5лист'!C2:C10000;))>0);-1)
Код
lastrow = Лист1.Cells(Лист1.Rows.Count, 2).End(xlUp).Row

Лист2.[E3].FormulaLocal = "=СУММ(Ч(ЧАСТОТА(ПОИСКПОЗ(5лист!B2:B" & lastrow & 5лист!C2:C" & lastrow;5лист!B2:B" & lastrow&5лист!C2:C" & lastrow;);(5лист!B2:B" & lastrow>=--A1)*(5лист!B2:B" & lastrow<=--A2)*(5лист!E2:E" & lastrow=A3)*ПОИСКПОЗ(5лист!B2:B" & lastrow&5лист!C2:C" & lastrow;5лист!B2:B" & lastrow&5лист!C2:C" & lastrow;))>0);-1)"
 
 
что-то мне кажется ваша формула перегружена... Но поправил ваш код. И не забудьте закрепить адреса, если будете протягивать формулу вниз. Т.е. ваши адреса B2:B" & LastRow надо писать так $B$2:$B$" & LastRow
Код
Sub Макрос1()
Dim LastRow As Long

    With Worksheets("5лист")
        LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
    End With
    
    With Worksheets("Лист2")
        .[E4].FormulaLocal = "=СУММ(Ч(ЧАСТОТА(ПОИСКПОЗ(5лист!B2:B" & LastRow & "&5лист!C2:C" & LastRow & ";5лист!B2:B" & LastRow & "&5лист!C2:C" & LastRow & ";);(5лист!B2:B" & LastRow & ">=--A1)*(5лист!B2:B" & LastRow & "<=--A2)*(5лист!E2:E" & LastRow & "=A3)*ПОИСКПОЗ(5лист!B2:B" & LastRow & "&5лист!C2:C" & LastRow & ";5лист!B2:B" & LastRow & "&5лист!C2:C" & LastRow & ";))>0);-1)"
    End With
End Sub
Изменено: New - 19.01.2021 03:14:30
 
New, огромнейшее Вам спасибо.
 
Название темы нужно уточнить. Предлагайте. Заменят модераторы
 
тема: посчитать количество приходов в промежутке дат с помощью формулы на VBA
Изменено: New - 19.01.2021 12:54:55
 
После какой травки приходы ловим? :)
Страницы: 1
Наверх