保留 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)