我有一个R1C1公式,它包含IF和VLOOKUP函数以及一些变量:
Sub example()
Set vlpRange = wsRef.Range("B:E")
'[some code...]
newColumn.FormulaR1C1 = "=IF(MID(RC[-17],14,3)=""LCO""," _
& """LCO"",VLOOKUP(RC[-10],'[" & wbRef.Name & "]" & _
wsRef.Name & "'!" & vlpRange.Address(0, 0) & "," & vlpColIndex & ",0))"
'[some code...]
End Sub
我在每个单元格中得到以下结果:
=IF(MID(F2,14,3)="LCO","LCO",VLOOKUP(M2,'[SPS Product groups.xlsx]Sheet1'!B:(E),4,0))
问题出在vlpRange.Address(0, 0)
,转换为B:(E)
,而不是B:E
。
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:2)
尝试交换
vlpRange.Address(0, 0)
代表
vlpRange.Address(ReferenceStyle:=xlR1C1)