统计不同Excel表格中的行数

这是在同一个工作簿。 我在Sheet3中有一些范围的数字,而button是在Sheet2中。 我想它计算行数,然后在msgbox中将值返回给我。 如果我运行这个打开Sheet3它运行良好。 如果我用不同的纸张运行它,则计数部分会出现对象错误。 它确实在单元格A2中插入了3,无论哪个表格处于活动状态。

Sub problem3run() Dim rngtest As Range Set rngtest = Sheet3.Range("A2") rngtest.Value = 3 Dim rngacount As Integer rngacount = Sheet3.Range(Range("A4"), Range("A4").End(xlDown)).Rows.Count MsgBox (rngacount) End Sub 

这是什么搞砸了?

这里有两个问题。 首先是数据typesInteger不能包含某些excel文件中的所有行,所以您需要使用Long 。 第二个是你正在定义rngacount与不合格的range对象。 尝试这个:

 Sub problem3run() Dim rngtest As Range Set rngtest = Sheet3.Range("A2") rngtest.Value = 3 Dim rngacount As Long '<~ use Long here rather than Integer With Sheet3 '<~ use a With here to qualify ranges rngacount = .Range(.Range("A4"), .Range("A4").End(xlDown)).Rows.Count End With MsgBox (rngacount) End Sub