Application.InputBox 预选了意外的默认范围

Application.InputBox pre-selects unexpected default range

我希望用户 select 通过 Application.InputBoxType:=8 的范围。
我给它一个默认范围,但在某些情况下它会显示出意外行为,并且预先 selects 一个不同的错误默认范围。

我的示例代码:

Dim myDefaultRange as Range
Dim myInputRange as Range

Set myDefaultRange = ActiveSheet.Range("C8")
Set myInputRange = Application.InputBox( _
  Title:="Exampe Title", _
  Prompt:="Example Prompt", _
  Default:=myDefaultRange.Address(0, 0), _
  Type:=8)

我希望我的示例到 select 单元格 C8 并这样问:

而是预 select 列 H,并要求用户为 $H:$H 设置一个新范围,如下所示:

Application.InputBox 的默认范围指向 C 或 R 列中的单元格并且您定义它时没有使用 $,则它被解释为 R1C1-notation给定的 ColumnRow.
在您的示例中,单元格的地址 C8 被解释为第 8 列,即。 e. H 列

默认范围应该这样定义:

Default:=myDefaultRange.Address

这样,您示例中的默认范围将显示为 $C$8,并且 Application.InputBox 将预选所需的默认单元格范围。