所以我想用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
发布于 2018-03-09 10:26:44
如果你不想要一个指定的工作表名称,那么简单地删除它就可以了:‘ta worksheet name,那么简单地删除它:
'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)"
https://stackoverflow.com/questions/49191534
复制