ActiveCell.Formula运行时错误VBA

ActiveCell.Formula运行时错误VBA,vba,dynamic,runtime-error,excel-formula,Vba,Dynamic,Runtime Error,Excel Formula,我正在尝试使用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)" 在第二步中,我尝试用动态变化的变量替换$C$13268中的13268。我只需要在公式中

我正在尝试使用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)"
在第二步中,我尝试用动态变化的变量替换
$C$13268
中的
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


谢谢

替换所有
的分号,
以逗号开头

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)"

使用调试器。看看你的动态变量在运行时的值是什么,我还没有到那个阶段。我想先让静态公式起作用。我用另一个公式尝试了动态版本,但效果很好。上面的代码不起作用。请尝试
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)”
Perfect:/excel。非常感谢你。现在,我将尝试插入动态值如何使用整数(int)而不是长..+int+似乎不起作用。你是说一个
整数?用法:
将myInt设置为整数
,请注意