Range.Address属性无法正常工作

时间:2016-03-22 12:54:40

标签: excel excel-vba vba

我有一个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

为什么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:2)

尝试交换

vlpRange.Address(0, 0)

代表

vlpRange.Address(ReferenceStyle:=xlR1C1)