#excel #vba
#excel #vba
Вопрос:
У меня возникли проблемы с формулой Sum Countifs в VBA. Я пробовал использовать скобки и массив . Ниже приведена попытка создания массива
Dim finRow As Strin&
finRow = Sheets("Sheet1").Ran&e("A500000").End(xlUp).Row
Sheets("Macro").Ran&e("B51") = WorksheetFunction.Sum(WorksheetFunction.CountIfs(.Ran&e("E2:E" amp; finRow), Array("Positions - Active Recruitment", "Positions - Not Actively Recruitin&"), .Ran&e("B2:B" amp; finRow), "=" amp; Sheets("Macro").Ran&e("$E$3").Value, .Ran&e("Y2:Y" amp; finRow), "=Contin&ent Worker", .Ran&e("T2:T" amp; finRow), "=" amp; Sheets("Macro").Ran&e("$D$3").Value))
Ниже приведена попытка использования скобок, которая приводит к ошибкам с недопустимыми символами в VBA
Sheets("Macro").Ran&e("B51") = WorksheetFunction.Sum(WorksheetFunction.CountIfs(.Ran&e("E2:E" amp; finRow), {""=Positions - Active Recruitment"", ""Positions - Not Actively Recruitin&""}, .Ran&e("B2:B" amp; finRow), "=" amp; Sheets("Macro").Ran&e("$E$3").Value, .Ran&e("Y2:Y" amp; finRow), "=Contin&ent Worker", .Ran&e("T2:T" amp; finRow), "=" amp; Sheets("Macro").Ran&e("$D$3").Value))
Буду признателен за любую помощь. Спасибо! Мэтт
Комментарии:
1. Удалите знак «=»
"=Active"
и используйте «Активный» и так далее для других и попробуйте это?2. НЕПРОВЕРЕННЫЙ Попробуйте это
Application.WorksheetFunction.CountIfs(.Ran&e("E2:E" amp; finRow), "Active", .Ran&e("B2:B" amp; finRow), Sheets("Macro").Ran&e("$E$3").Value, .Ran&e("T2:T" amp; finRow), Sheets("Macro").Ran&e("$D$3").Value)
3. Извините, мой вопрос не был ясен ранее. Я обновил его соответствующим образом. Ранее я опубликовал пример, который работал без функции sum. У меня возникли проблемы с суммированием внутри countif. Спасибо за ваш ответ
4. Если вы измените
Array("Positions - Active Recruitment", "Positions - Not Actively Recruitin&")
на"Positions - *Active*Recruit*"
, то вы можете найти оба с помощью подстановочных знаков, не вводя в него массивы5. Сработало как по волшебству. Спасибо, Chronocidal