使用R1C1和文本的VBA计数

使用R1C1和文本的VBA计数,vba,excel,excel-formula,countif,Vba,Excel,Excel Formula,Countif,我试图让一个公式显示C RC3列上一行的数量或出现次数 理想的结果如下所示: 计数:3 如果该值在前一行中出现3次 下面的代码返回False y、 公式1c1=Count:+=Application.WorksheetFunction.CountIfrangeR3C3:R&LR&C3,=&R[-1]C3 y是一个细胞 LR是最后一排 谢谢,如果我能进一步澄清,请告诉我。如果您试图制作一个结合文本和内置函数的公式,请使用=CONCATENATE。考虑下面的例子: 如果要使用VBA填写带有相对位置的

我试图让一个公式显示C RC3列上一行的数量或出现次数

理想的结果如下所示:

计数:3

如果该值在前一行中出现3次

下面的代码返回False

y、 公式1c1=Count:+=Application.WorksheetFunction.CountIfrangeR3C3:R&LR&C3,=&R[-1]C3

y是一个细胞

LR是最后一排


谢谢,如果我能进一步澄清,请告诉我。

如果您试图制作一个结合文本和内置函数的公式,请使用=CONCATENATE。考虑下面的例子:

如果要使用VBA填写带有相对位置的公式。公式1C1,则应为:

=CONCATENATE("Count: ",COUNTIF(R[-5]C:R[-2]C,"=" &R[-1]C))

只要CountIf函数在测试字符串中,它就永远不会对任何内容进行计数。而且,仅当您希望在VBA中完全使用单元格公式中的“Application.WorksheetFunction”时,才不需要该函数。此外,Excel公式中不需要范围函数。试试这个:

y.FormulaR1C1 = "=""Count: ""&CountIf(R3C3:R" & LR & "C3,R[-1]C3)"
虽然如果搜索范围和条件单元格之间没有任何内容,您可以通过以下方式完全消除LR:

y.FormulaR1C1 = "=""Count: ""&CountIf(R3C3:R[-2]C3,R[-1]C3)"

我认为在一个单元格中不可能有一个以文本开头的公式——你需要在一个单元格中有一个公式,比如A1,让B1 read=Count:A1。你能试着自己测试一下这个公式,看看它是否有效吗?您的连接也看起来像=&,但我不能100%确定您想要做什么。快速示例,这是我的第一个字符串,这是另一个字符串。和1+1=&1+1&。