我正在尝试使用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
谢谢
答案 0 :(得分:0)
将所有;
分号替换为,
逗号,以
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)"
如果你想在字符串中使用变量,那么
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)"