保留 VLOOKUP 输入框中的 static/locked 范围
Retain the static/locked Range from Input Box for VLOOKUP
我正在尝试使用来自 InputBox
的输入,其中 InputBox
确定 VLOOKUP
的 TableArray。
一旦选择了工作表和单元格并将其添加到 VLOOKUP
公式中,它们就会失去静态路径,而变成动态的。
示例:
Dim PrevBacklog As Range
Set PrevBacklog = Application.InputBox(prompt:="Select the Worksheet/Tab and cell range for lookup", Title:="Previous Backlog Tab", Type:=8)
ActiveSheet.Range("I2:I1000").Formula = "=VLOOKUP(A2," & PrevBacklog.Address(0, 0, xlA1, 1) & ",9,False)"
InputBox 将捕获 "Sheet2!$A:$N",但结果公式为
=VLOOKUP(A2,Sheet2!A1:N2,9,FALSE)
这是有问题的,因为它与每个单元格相关。我希望公式的结果是
=VLOOKUP(A2,Sheet2!$A:$N,9,FALSE)
如何保留 locked/static 地址?
改变
PrevBacklog.Address(0, 0, xlA1, 1)
至
PrevBacklog.Address(True, True, xlA1, True)
或者更简单地说,因为其中大部分是默认值:
PrevBacklog.Address(External:=True)
我正在尝试使用来自 InputBox
的输入,其中 InputBox
确定 VLOOKUP
的 TableArray。
一旦选择了工作表和单元格并将其添加到 VLOOKUP
公式中,它们就会失去静态路径,而变成动态的。
示例:
Dim PrevBacklog As Range
Set PrevBacklog = Application.InputBox(prompt:="Select the Worksheet/Tab and cell range for lookup", Title:="Previous Backlog Tab", Type:=8)
ActiveSheet.Range("I2:I1000").Formula = "=VLOOKUP(A2," & PrevBacklog.Address(0, 0, xlA1, 1) & ",9,False)"
InputBox 将捕获 "Sheet2!$A:$N",但结果公式为
=VLOOKUP(A2,Sheet2!A1:N2,9,FALSE)
这是有问题的,因为它与每个单元格相关。我希望公式的结果是
=VLOOKUP(A2,Sheet2!$A:$N,9,FALSE)
如何保留 locked/static 地址?
改变
PrevBacklog.Address(0, 0, xlA1, 1)
至
PrevBacklog.Address(True, True, xlA1, True)
或者更简单地说,因为其中大部分是默认值:
PrevBacklog.Address(External:=True)