Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Range.Address属性无法正常工作_Excel_Vba - Fatal编程技术网

Excel Range.Address属性无法正常工作

Excel Range.Address属性无法正常工作,excel,vba,Excel,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 & "]" & _

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

为什么会发生这种情况,我如何修复它?

尝试交换

vlpRange.Address(0, 0)
为了


谢谢,这很有帮助,但我得到了
$B:$E
。我仍然无法理解为什么会发生这种情况。是的,我也尝试过几次,并且使用了vlpRange。地址(0,0)返回正常的B:E,这很奇怪。如果你不介意固定列,替换可能会对你有所帮助,但我会在有时间的时候尝试找到更好的…因此,经过几次尝试,我相信Scott是正确的(在对你最初问题的评论中)。我能够多次获得一个单独的引用$B:$E,但每次我尝试在没有绝对引用的情况下,你要么得到“B:(E)”,要么你必须引用到某个点,冒着得到不同列的风险,并且不可能只输入正常的“B:E”值。当我把公式放在G列时,我用vlpRange.Address(0,0,xlR1C1,RelativeTo:=Range(“G:G”))得到了不带$符号的“B:E”。我猜是为什么,您试图在R1C1公式中使用特定地址,因此下面的答案是有效的。
vlpRange.Address(ReferenceStyle:=xlR1C1)