Excel文件,用于计算VBA中的总行数

时间:2012-05-09 08:43:49

标签: excel excel-vba vba

我正在编写一个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'的方法'范围'失败

3 个答案:

答案 0 :(得分:6)

Range用于单元格范围,不适用于 Excel表格

请尝试以下操作:

  1. 获取已用行数

    cnt = Worksheets("Sheet2").Cells.SpecialCells(xlCellTypeLastCell).Row
    
  2. 获取工作表所有行的计数

    cnt = Worksheets("Sheet2").Rows.Count
    
  3. 要获取特定Range行数:

    cnt = Worksheets("Sheet2").Range("A1:A6500").Rows.Count
    
  4. 我认为您正在寻找二手细胞系列。将变量定义为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)