愚蠢的问题,但我不明白这个错误,所以如果有人能告诉我为什么会这样,以及如何解决它,我会很感激。我有一个在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))
答案 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
如果该公式是正确的,它可能会被简化,但在为此提出任何建议之前,必须对公式进行确认。