我正在编写一个VBA宏来计算Excel文件sheet2
中的行数
Dim cnt As Integer
Dim i As Integer
cnt = Range("Sheet2").Rows.Count ' giving error at this row
For i = 2 To cnt
t1 = "A" + CStr(i)
t2 = "B" + CStr(i)
Next i
但它给出了错误:
对象'_global'的方法'范围'失败
答案 0 :(得分:6)
Range
用于单元格范围,不适用于 Excel表格。
请尝试以下操作:
获取已用行数:
cnt = Worksheets("Sheet2").Cells.SpecialCells(xlCellTypeLastCell).Row
获取工作表所有行的计数:
cnt = Worksheets("Sheet2").Rows.Count
要获取特定Range
的行数:
cnt = Worksheets("Sheet2").Range("A1:A6500").Rows.Count
我认为您正在寻找二手细胞系列。将变量定义为Long以解决溢出问题
Dim cnt As Long
Dim i As Long
答案 1 :(得分:1)
Sheet2是一张纸,而不是一个范围。
Worksheets("Sheet2").Rows.Count
答案 2 :(得分:-1)
尝试使用以下代码:
Dim crb1 As Long
'Count Rows
Range("B2").Select
Selection.End(xlDown).Select
crb1 = ActiveCell.Row
MsgBox ("Number of rows are ") & Str(crb1)