Application.InputBox 预选了意外的默认范围
Application.InputBox pre-selects unexpected default range
我希望用户 select 通过 Application.InputBox
和 Type:=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给定的 Column
或 Row
.
在您的示例中,单元格的地址 C8 被解释为第 8 列,即。 e. H 列
默认范围应该这样定义:
Default:=myDefaultRange.Address
这样,您示例中的默认范围将显示为 $C$8,并且 Application.InputBox
将预选所需的默认单元格范围。
我希望用户 select 通过 Application.InputBox
和 Type:=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给定的 Column
或 Row
.
在您的示例中,单元格的地址 C8 被解释为第 8 列,即。 e. H 列
默认范围应该这样定义:
Default:=myDefaultRange.Address
这样,您示例中的默认范围将显示为 $C$8,并且 Application.InputBox
将预选所需的默认单元格范围。