VBA运行时错误1004:Global对象Range方法调用失败求助
解决VBA统计选区行数的问题
嘿,我来帮你搞定这个代码问题~
首先看你当前的代码,问题出在最后一行的Range("rng")上:你已经通过InputBox把用户选择的区域赋值给了变量rng,但这里的Range("rng")是在尝试引用名为"rng"的命名区域,而不是你刚才定义的变量!所以直接用变量名rng就好啦。
修正后的输入框选区代码
Sub test() Dim rng As Range Set rng = Application.InputBox("Select range: ", "Select range", Type:=8) MsgBox rng.Rows.Count ' 直接使用变量rng,无需加Range()包裹 End Sub
预先定义命名区域"rng"的情况
如果已经在工作表里定义了名为"rng"的命名区域,那可以直接引用这个区域统计行数,不用再让用户选择。这里建议加个错误处理,防止命名区域不存在时代码崩溃:
Sub CountNamedRangeRows() Dim rng As Range ' 临时跳过错误,检查命名区域是否存在 On Error Resume Next Set rng = ThisWorkbook.Names("rng").RefersToRange On Error GoTo 0 If Not rng Is Nothing Then MsgBox "命名区域rng的行数是:" & rng.Rows.Count Else MsgBox "未找到名为rng的命名区域哦!" End If End Sub
内容的提问来源于stack exchange,提问作者A.V. Pham
相关产品推荐
相关产品推荐

