1

sheet2Excelファイルの行数をカウントするVBAマクロを書いています

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」のメソッド「Range」が失敗しました

4

3 に答える 3

5

RangeExcel シートではなくセル範囲に使用されます。

以下を試してください。

  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 に答える