VBA VLOOKUP公式编译错误

我总是有一个编译错误:预期:结束状态总是显示我的部分代码(“F1:H66”)

Public Sub macro2() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Range("G31").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],Sheet2.Range("F1:H66"),3, False)" Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub 

使用Chr(34)" ,更容易阅读。

其次,尽量避免使用SelectActiveCell ,而是可以使用直接Range方法,参见下面的代码:

 Range("G31").FormulaR1C1 = "=VLOOKUP(RC[-4],Sheet2.Range(" & Chr(34) & "F1:H66" & Chr(34) & "),3, False)" 

当你的双引号出现在一个string中时加倍:

"=VLOOKUP(RC[-4],Sheet2.Range(""F1:H66""),3, False)"

------------------------------^--------^----------

试试这个代码。 您可以根据需要调整单元格的值。

 NewValue = Application.WorksheetFunction.VLookup( Range("G31"), Range("F1:H66"), 3, False ) 

另一种方法是使用
"=VLOOKUP(RC[-4],Sheet2!R1C6:R66C8,3, False)"

这将给出公式: =VLOOKUP(C31,Sheet2!$F$1:$H$66,3, FALSE)