在请求范围输入时:对象变量或未在excel vba中设置的块变量

Lea*_*VBA 0 excel vba

我希望用户输入单元格范围

Dim FromRang, ToRang As Range

'Ask the user to input the cell Range in which to search for the sub strings
FromRang = Application.InputBox(Prompt:="Enter Search Range From:", Type:=8)
ToRang = Application.InputBox(Prompt:="Enter Search Range To:", Type:=8)
Run Code Online (Sandbox Code Playgroud)

但是这给了我一个错误:"对象变量或者没有在excel vba中设置的块变量"

K_B*_*K_B 6

像a这样的对象Range只能使用Set在VBA中分配.所以我们提到你应该使用:

Set FromRang = Application.InputBox(Prompt:="Enter Search Range From:", Type:=8)
Run Code Online (Sandbox Code Playgroud)

此外,对多个变量进行尺寸标注需要您分别说明每个变量的类型:

Dim FromRang As Range, ToRang As Range
Run Code Online (Sandbox Code Playgroud)

否则,第一个将是未指定的,并且默认情况下这导致它变为Variant可能导致不期望的行为的类型.