VBA:语句结束错误

愚蠢的问题,但我不明白这个错误,所以如果有人可以告诉我为什么发生这种情况,如何解决它,我会很感激。 我有一个在Excel工作表中的公式。 在VBA中,我所要做的就是将这个公式放入并填充到相邻列的最后一行。 我拥有的公式如下:

编译错误,预期:声明结束(它在“ FIG ”部分执行此操作)

Range("C1").Formula = "=IF(B1="","",IF(ISNUMBER(SEARCH("*FIG*",B1)),"FIG", IF(ISNUMBER(SEARCH(" *SF* ",B1)),"SF",IF(ISNUMBER(SEARCH(" *AF* ",B1)),"AF&L", IF((ISNUMBER(SEARCH(" * IB * ",B1)) ),IF(ISNUMBER(SEARCH(" * ASIA * ",B1)),"IBAsia","IBexA"))))))" Range("C1").AutoFill Destination:=Range("C1:C" & (ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row)) 

在引用string中使用引号时,除了“换行”引号外,所有引号都需要加倍。 在下面,我把报价翻了一番,并删除了一些空格,我的经验告诉我VBE错误地插入时,试图弄清楚一个坏的string。

 Dim lr As Long With ActiveSheet lr = .Cells(Rows.Count, 2).End(xlUp).Row With .Range(.Cells(1, 3), .Cells(lr, 3)) .Formula = "=IF(B1="""", """", " & _ "IF(ISNUMBER(SEARCH(""*FIG*"", B1)), ""FIG"", " & _ "IF(ISNUMBER(SEARCH(""*SF*"", B1)), ""SF"", " & _ "IF(ISNUMBER(SEARCH(""*AF*"", B1)), ""AF&L"", " & _ "IF((ISNUMBER(SEARCH(""*IB*"", B1))), " & _ "IF(ISNUMBER(SEARCH(""*ASIA*"", B1)), ""IBAsia"", ""IBexA""))))))" End With End With 

以上在ActiveSheet的列C中从第1行到列B的范围产生以下公式,

 =IF(B1="", "", IF(ISNUMBER(SEARCH("*FIG*", B1)), "FIG", IF(ISNUMBER(SEARCH("*SF*", B1)), "SF", IF(ISNUMBER(SEARCH("*AF*", B1)), "AF&L", IF((ISNUMBER(SEARCH("*IB*", B1))), IF(ISNUMBER(SEARCH("*ASIA*", B1)), "IBAsia", "IBexA")))))) 

如果这个公式是正确的,那么它可能会被简化,但在为此提出任何build议之前,有必要确认公式。