首页 > 解决方案 > 使用 VBA 将公式插入 Excel 时预期语句结束错误

问题描述

我收到以下代码的预期语句结束错误。调试器突出显示句号/句点,但这是公式的一部分。

任何人都可以看到这个问题吗?

Sub ParseSurnames()
    Dim lastRow As Long
   
    'Where is last row of data?
    lastRow = Cells(Rows.Count, "A").End(xlUp).Row
   
    'Apply formula
    Range("C1:C" & lastRow).Formula = "=IF(A1="","",LEFT(A1,FIND(".",A1)-3))"

End Sub

标签: excelvba

解决方案


尝试更改应用公式的代码行:

Range("C1:C" & lastRow).Formula = "=IF(A1="""","""",LEFT(A1,FIND(""."",A1)-3))"

在包含 " 的字符串中,双引号必须转义,使用另一个。我的意思是 """" 表示 "","" 表示 "...

为了检查这些字符串,请尝试下一个代码行:

Debug.Print "=IF(A1="""","""",LEFT(A1,FIND(""."",A1)-3))"

它是否根据需要在即时窗口(Ctrl + G,在 VBE 中)返回公式?如果是的话,就是这样……


推荐阅读