VBA:语句结束错误

时间:2015-12-03 01:41:30

标签: excel vba excel-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))

1 个答案:

答案 0 :(得分:2)

在带引号的字符串中使用引号时,除了“包装”引号外,所有引号都需要加倍。在下面我将引号加倍并删除了一些空格,我的经验告诉我,VBE在尝试理解错误的字符串时会错误地插入。

for (Thread thread : threads)
    {
         thread.read()
    }

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

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

如果该公式是正确的,它可能会被简化,但在为此提出任何建议之前,必须对公式进行确认。