1

我正在尝试使用 VBA 将公式插入到 Excel 中,但它不起作用。它返回运行时错误 1004。我在这里尝试了一些技巧或答案,但它们似乎与我的情况不太相关。

这是代码:

ActiveCell.Formula = "=COUNTIFS('DataSheet_B'!$C$4:$C$13268;B6;'DataSheet_B'!$M$4:$M$13268;A6;'DataSheet_B'!$J$4:$J$13268;$G$5)"

在第二步中,我试图用一个动态变化的变量来13268替换$C$13268。我只需要将它插入到公式中。这就是我尝试对公式进行硬编码的主要原因。

或者,我使用以下公式:

Dim sVal As String
    sVal = "13268"

ActiveCell.FormulaR1C1 = "=COUNTIFS(DataSheet_B!R4C3:R[" & sVal & "]C3,RC[-5],DataSheet_B!R4C13:R[" & sVal & " ]C13,RC[-6],DataSheet_B!R4C10:R[" & sVal & " ]C10,R5C7)"

但是,它不返回第二个美元符号$C$13268

谢谢

4

1 回答 1

0

逗号替换所有; 分号以开始,

ActiveCell.Formula = "=COUNTIFS('DataSheet_B'!$C$4:$C$13268,B6,'DataSheet_B'!$M$4:$M$13268,A6,'DataSh‌​eet_B'!$J$4:$J$13268,$G$5)"

如果您想在字符串中使用变量,那么

Dim sVal As Long
    sVal = 13268

ActiveCell.Formula = "=COUNTIFS('DataSheet_B'!$C$4:$C$" & sVal & ";B6;'DataSheet_B'!$M$4:$M$" & sVal & ";A6;'DataSheet_B'!$J$4:$J$" & sVal & ";$G$5)"
于 2013-07-18T08:56:12.193 回答