繁体   English   中英

VBA-运行时错误'1004'-对象'_Global'的方法'Range'失败

[英]VBA - Run-time error '1004' - Method 'Range' of object'_Global' failed

不好意思,再见到这个问题。 但是,我已经在该站点中搜索了类似的主题,但无法解决我的问题。

我有一个VBA代码片段,其中有一行抛出错误:

Sub test()
Dim rng As Range

Set rng = Application.InputBox("Select range: ", "Select range", Type:=8)

MsgBox (Range("rng").Rows.Count)

End Sub

我的目的是提示用户选择一个范围并计算该范围内的行数。

如果我预定义名称范围“ rng”,而不是像下面的代码那样在运行时选择范围,它将返回没有错误的行数。

Sub test()
Dim rng As Range

MsgBox (Range("rng").Rows.Count)

End Sub

有人可以告诉我用户选择范围的问题,这样它就不能返回行数吗? 用户定义的“ rng”范围不具有“行”属性吗?

谢谢您的帮助。

更改:

MsgBox (Range("rng").Rows.Count)

至:

MsgBox rng.Rows.Count

rng已经是有效范围,并且具有它自己的Rows属性,您可以像这样访问...

另外,如果用户未选择任何范围并在InputBox上单击“取消”,请考虑处理这种情况。

Dim rng As Range

On Error Resume Next
Set rng = Application.InputBox("Select range: ", "Select range", Type:=8)
On Error GoTo 0
If Not rng Is Nothing Then MsgBox rng.Rows.Count

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM