所以我想用vba为细胞添加公式,但我在公式中有工作表名称,我该如何解决这个问题呢?
Sub MatchaFormel(A As String, B As String)
Dim j As Integer
j = 1
Worksheets("Sammanställning").Range(B & 3).Activate
Do
ActiveCell.Offset(0, 1).Activate
ActiveCell.Formula = "=ANTAL.OMF('Component List'!$" & A & "$2:$" & A & "S$3001;E3)"
j = j + 1
ActiveCell.Offset(1, -1).Activate
Loop Until ActiveCell.Value = ""
End Sub
所以我的问题是'组件列表'部分代码。 ANTAL.OMF是英文的COUNTIFS
答案 0 :(得分:1)
如果您不想要指定工作表名称,则只需删除它:
'Component List'!
任何时候你有一个你正在尝试排除故障的字符串,只需显示字符串本身就可以更容易地看到问题。
例如:(用于问题排查)
如果你的VBA是:
ActiveCell.Formula = "=ANTAL.OMF('Component List'!$" & A & "$2:$" & A & "S$3001;E3)"
然后在它之前添加一行,将字符串复制并粘贴到Debug.Print
语句中。例如:
Debug.Print "=ANTAL.OMF('Component List'!$" & A & "$2:$" & A & "S$3001;E3)"
Stop
运行代码,当它在Stop
处断开时,按CTRL + G(对于立即窗口)以查看它给你的公式。如有必要,请复制&将该公式粘贴到工作表中,看它是否按原样运行。
如果没有,你的问题应该清楚。
您的单/双引号看起来有些混乱。要在公式中包含"
双引号,请使用它们的双重集(""
)。
也许你想要的行是:
ActiveCell.Formula = "=ANTAL.OMF("$A" & "$2:$" & A & "S$3001;E3)"