У меня есть таблица, в которой новые данные постоянно вставлены. Если категория существует в столбце B, данные вводятся в новую строку под этой категорией из B #: F #. Но если он не существует, для этой категории будет создана новая строка, а затем данные будут вставлены снизу. Столбец А включает граф для каждой категории и помещается в ячейку слева до первого экземпляра, в котором отображается категория. Например, если столбец b имел 6 «оранжевых» вхождений, то счет слева от (col A) первого экземпляра оранжевого.создать динамическую строку CountIf для уравнения ячейки VBA
Как я могу убедиться, что если новая новая категория (скажем, «привет»), которая установлена в переменную tgt, добавляется в новую строку, что оператор countif в коде динамически изменяется на значение, установленное на TGT?
Dim tgtVal As String
tgtVal = tgt.Value
tgt.Offset(0, -1).FormulaR1C1 = "=COUNTIF(C[1], " & tgtVal & ")-1"
Теперь подсчет всплывает на листе рядом с недавно вставленной категорией, однако это неверный счет. Уравнение
"= СЧЕТЕСЛИ (В: В, Привет) -1" со счетчиком -1 в клетке вместо = COUNTIF (В: B, "Привет") - 1 с кол-во 1
Если добавить еще пару кавычек в коде, чтобы попытаться включить кавычки в заявлении СЧЕТЕСЛИ в листе, как:
tgt.Offset (0, -1) .FormulaR1C1 = "= COUNTIF (C [1]," "& tgtVal &" ") -1" , то он показывает, как = COUNTIF (B: B, "& tgtVal & ") -1 как уравнение в ячейке
Как убедиться, что он приходит как" tgtVal" и не tgtVal в уравнении клетки?
Вы можете поделиться своим листком? и желаемый лист результатов? –