vba передает критерии в countif в переменной

Я пытаюсь подсчитать количество строк, где определенная строка появляется в столбце K в листе, используя цикл. Строки, используемые для поиска, находятся в Scorecards B2: B8. Счет должен быть помещен в следующий столбец C в этом случае. Я пытаюсь передать строку в «op_id» в countif. Когда я запускаю его, все подсчитанные значения в столбце C равны 0. Вот что у меня есть до сих пор:

Dim op_id As String For i = 2 To 8 op_id = Sheets("Scorecards").Cells(i, 2) Sheets("Scorecards").Cells(i, 3) = "=COUNTIF('Raw Data'!K:K, & op_id)" Next i 

Заранее спасибо!

Если ваш пример не упрощен, нет необходимости использовать VBA здесь, так как вы можете использовать SUMPRODUCT для такого же эффекта, например:

 =SUMPRODUCT(1*('Raw Data'!K:K=B2)) 

… и перетащите вниз, чтобы применить к столько строк, сколько вам нужно.

Проблема в том, что VBA не поддерживает строчную интерполяцию. Вместо этого вам нужно объединить:

 Dim op_id As String For i = 2 To 8 op_id = Sheets("Scorecards").Cells(i, 2) Sheets("Scorecards").Cells(i, 3) = _ "=COUNTIF('Raw Data'!K:K, """ & op_id & """)" Next i 
  • Функция проверки строки для az
  • Алгоритм вырезания в Excel VBA для минимизации потерь при заказе материалов
  • Несоответствие типов при применении заданного диапазона к WorksheetFunction
  • Как изменить текст ячейки из другой ячейки в Excel?
  • Использование переменной для уменьшения рабочего листа
  • Функция Excel InStr в противоположном направлении
  • Выполните функцию IF в VBA
  • Разделить и подсчитать количество разделов подряд
  • Использование переменных даты в формулах Excel в VBA
  • Ошибка функции VBA, когда другие пользователи пытаются ее использовать
  • Excel VBA - Cell (#, #) с переменными
  • Давайте будем гением компьютера.