![](/img/trans.png)
[英]Run-time error '1004' : Method 'Range' of object'_Global' failed
[英]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.