1

我正在编写一个 VBA 宏来计算sheet2Excel 文件中的行数

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”的方法“范围”失败

4

3 回答 3

5

Range用于Cell Range而不是Excel Sheets

尝试以下操作:

  1. 要获取已用行数

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

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

    cnt = Worksheets("Sheet2").Range("A1:A6500").Rows.Count
    

我认为您正在寻找使用过的单元格范围。将变量定义为 Long 以解决溢出问题

Dim cnt As Long 
Dim i As Long
于 2012-05-09T09:21:52.243 回答
1

Sheet2 是工作表,而不是范围。

Worksheets("Sheet2").Rows.Count
于 2012-05-09T08:57:29.773 回答
-1

尝试使用以下代码:

Dim crb1 As Long


'Count Rows

    Range("B2").Select
    Selection.End(xlDown).Select
    crb1 = ActiveCell.Row

    MsgBox ("Number of rows are ") & Str(crb1)
于 2018-12-08T00:45:38.457 回答