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)
有"
,更容易阅读。
其次,尽量避免使用Select
和ActiveCell
,而是可以使用直接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)