期望结束语句
嘿家伙我一直得到一个Compile Error: Expected:End of Statement
我插入一个variables到我的公式,所以这张表可以一遍又一遍地使用基于不同的工作表名称。
请你让我知道我失踪了什么? 这个公式我试图插入给我的语法错误。
ActiveCell.Formula = "=INDEX(PrevSh & [LENGTH],MATCH([MATERIAL], PrevSh & [MATERIAL],0)) & "(" & COUNTIF(PrevSh & [LENGTH],INDEX(PrevSh & [LENGTH],MATCH([MATERIAL],PrevSh & [Material],0)) )&")" Dim PrevSh As String PrevSh = ActiveSheet.Previous.Name Range(TableName & "[QTY OF LNG]").Select ActiveCell.Formula = "=INDEX(PrevSh & [LENGTH],MATCH([MATERIAL], PrevSh & [MATERIAL],0)) & "(" & COUNTIF(PrevSh & [LENGTH],INDEX(PrevSh & [LENGTH],MATCH([MATERIAL],PrevSh & [Material],0)) )&")"
你的公式需要更像是:
PrevSh = "OldTableName" ActiveCell.Formula = "=INDEX(" & PrevSh & "[LENGTH],MATCH([@MATERIAL]," & PrevSh & "[MATERIAL],0)) & ""("" & COUNTIF(" & PrevSh & "[LENGTH],INDEX(" & PrevSh & "[LENGTH],MATCH([@MATERIAL]," & PrevSh & "[Material],0)))&"")"""
使用旧的表格名称而不是表格名称很重要。
这是不正确的:
ActiveCell.Formula = "=INDEX(PrevSh & [LENGTH],MATCH([MATERIAL], PrevSh & [MATERIAL],0)) & "(" & COUNTIF(PrevSh & [LENGTH],INDEX(PrevSh & [LENGTH],MATCH([MATERIAL],PrevSh & [Material],0)) )&")"
它是以string的formsparsing它: "=INDEX(PrevSh & [LENGTH],MATCH([MATERIAL], PrevSh & [MATERIAL],0)) & "
,然后它碰到一个括号,不知道该怎么办。 同样的事情发生在最后)&")"
编辑 :澄清,问题是less用你的报价,更多与随机括号。 你基本上有这个:
ActiveCell.Formula = "Some nice text"("Some more text")"
这是无效的VBA。 我不是100%确定你想要的公式是什么,但这是不行的。 我想你想要这样的东西:
ActiveCell.Formula = "=INDEX(PrevSh & [LENGTH],MATCH([MATERIAL], PrevSh & [MATERIAL],0)) & ""("" & COUNTIF(PrevSh & [LENGTH],INDEX(PrevSh & [LENGTH],MATCH([MATERIAL],PrevSh & [Material],0)) )&"")"""
注意(
和)
的双引号,并在最后加上最后的引号。 如果您要在单元格中的公式中使用引号,则必须这样做。