期望结束语句

嘿家伙我一直得到一个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)) )&"")""" 

注意()的双引号,并在最后加上最后的引号。 如果您要在单元格中的公式中使用引号,则必须这样做。