R1C1公式:使用R []的行计数器

时间:2015-07-14 15:51:41

标签: excel vba excel-vba countif

我试图使用行计数器来为我的范围设置countif。它每次运行时都会给我一个错误,我怀疑它是一个语法错误。有什么想法吗?

Dim nRows As Integer 'row counter
nRows = Range(Range("B4"), Range("B4").End(xlDown)).Rows.Count

Range("Y5").Select
ActiveCell.FormulaR1C1 = _
  "=IF(COUNTIF("R5C5:R" & nRows & "C5",RC[-20])>=2,""Duplicate Account Combination"","""")"
Range("Y5").Select
Selection.AutoFill Destination:=Range("Y5:Y" & nRows)

我认为问题出在代码的"=IF(COUNTIF("R5C5:R" & nRows & "C5",RC[-20])>=2,"部分。

1 个答案:

答案 0 :(得分:1)

你遇到的问题实际上就在你怀疑的那条线上。问题是你在错误的时间转义字符串。您需要更改引号:

moment().format("YYYY-MM-DDTHH:mm:ss[Z]")

请注意,要调试它,最简单的方法是将其设置为等于字符串,例如:

ActiveCell.FormulaR1C1 = _
"=IF(COUNTIF(R5C5:R" & nRows & "C5,RC[-20])>=2,""Duplicate Account Combination"","""")"

这样,如果某些东西不起作用,你可以调试.print teststring然后将这个字符串粘贴到实际的excel单元格中。这样可以更容易地看到问题。

在测试时,请注意您需要确保将excel设置为R1C1表示法,否则会在测试时导致错误。根据Per Byron Wall的评论,你不需要为VBA设置这种风格,但如果你实际上将它粘贴到excel进行测试,你就会这样做。