我有一个表格,可以连续插入新数据。如果B类中存在该类别,则数据将从B#:F#输入该类别下的新行。但如果它不存在,则为该类别标题创建一个新行,然后在下面插入数据。 列A包括每个类别的计数,并且放置在第一个实例的单元格中,显示一个类别。例如,如果列b具有6"橙"发生,然后计数是(col A)左边第一个橙色实例。
如果在新行中添加了设置为变量tgt的新类别(假设" hello"),则代码中的countif语句会动态更改为该值那设置为tgt?
Dim tgtVal As String
tgtVal = tgt.Value
tgt.Offset(0, -1).FormulaR1C1 = "=COUNTIF(C[1], " & tgtVal & ")-1"
现在,在新插入的类别旁边的工作表中会弹出一个计数,但它不是正确的计数。等式是
" = COUNTIF(B:B,你好)-1"计数为-1 在细胞而不是 = COUNTIF(B:B," Hello") - 1,计数为1
如果我在代码中添加另一对引号以尝试在工作表中的countif语句中包含引号,如:
tgt.Offset(0,-1).FormulaR1C1 =" = COUNTIF(C [1],""& tgtVal&"") - 1" 然后它显示为 = COUNTIF(B:B,"& tgtVal&") - 1作为单元格中的等式
如何确保它出现在" tgtVal "在单元格的等式中没有 tgtVal ?
答案 0 :(得分:0)
尝试构建字符串文字时,应将结果输出到即时窗口。这将帮助您检测是否有任何错误。
这是您的代码段"=COUNTIF(C[1], "" & tgtVal & "")-1"
的结果。请注意,& tgtVal &
实际上是字符串的一部分。
= COUNTIF(C [1],“& tgtVal&”) - 1
以下两种方法可以获得正确的结果=COUNTIF(C[1],"")-1
字符串文字
“= COUNTIF(C [1],”“”& tgtVal&“”“)-1”
使用ASCII代码进行双引号
“= COUNTIF(C [1],”& Chr(34)& tgtVal& Chr(34)&“”“)-1”