使用VBA将公式插入Excel时出现预期的语句结束错误
下面的代码显示了预期的语句结束错误。调试器将突出显示句号/句点,但这是公式的一部分 有人能看到这个问题吗使用VBA将公式插入Excel时出现预期的语句结束错误,excel,vba,Excel,Vba,下面的代码显示了预期的语句结束错误。调试器将突出显示句号/句点,但这是公式的一部分 有人能看到这个问题吗 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" &
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
尝试更改代码行,将公式应用于:
Range("C1:C" & lastRow).Formula = "=IF(A1="""","""",LEFT(A1,FIND(""."",A1)-3))"
在包含“”的字符串中,必须使用另一个双引号对双引号进行转义。我的意思是“”表示“”,而“”表示“
要检查这些字符串,请尝试下一代码行:
Debug.Print "=IF(A1="""","""",LEFT(A1,FIND(""."",A1)-3))"
它是否在即时窗口(Ctrl+G,在VBE中)中返回您需要的公式?如果是,这就是方法…尝试更改代码行,将公式应用于:
Range("C1:C" & lastRow).Formula = "=IF(A1="""","""",LEFT(A1,FIND(""."",A1)-3))"
在包含“”的字符串中,必须使用另一个双引号对双引号进行转义。我的意思是“”表示“”,而“”表示“
要检查这些字符串,请尝试下一代码行:
Debug.Print "=IF(A1="""","""",LEFT(A1,FIND(""."",A1)-3))"
它是否在即时窗口(Ctrl+G,在VBE中)中返回您需要的公式?如果是,这就是方法…您需要将公式字符串本身内的任何引号加倍:
范围(“C1:C”和lastRow)。公式=“=If(A1=“”,“”“”,LEFT(A1,FIND(“”,A1)-3”)
您需要将公式字符串本身内的任何引号加倍:范围(“C1:C”和lastRow)。公式=“=If(A1=“”,“”,LEFT(A1,FIND(“,A1)-3))”
已排序。谢谢你,泰德。谢谢各位