範囲オブジェクトのEndメソッドを使用するとエラーが発生します。
以下のコードは私のプログラムからの抜粋であり、最後の行に到達すると、次のエラーが発生します:「アプリケーション定義またはオブジェクト定義エラー」
Sub DataGroup(testCell, j, k)
Dim archive As Range
Set dataCellsA = Worksheets("DATA").Range("B2")
Set dataCellsB = Worksheets("DATA").Range("I2")
For i = 0 To 30
Set currentLine = testCell.Offset(i, 0)
Set archive = Worksheets("ARCHIVE").Range("B4").End(x1Down)
ただし、プログラムの後半では、同じ実装のように見えるものがありますが、この部分でエラーは発生しません。
Set dataCellsA = Worksheets("DATA").Range("C2")
Set dataCellsB = Worksheets("DATA").Range("J2")
Dim lastCellA As Range
Dim lastCellB As Range
Set lastCellA = dataCellsA.End(xlDown)
Set lastCellB = dataCellsB.End(xlDown)
2つの違いは何ですか?変数を範囲として宣言していることを確認しています。また、「Set」prefexを使用して、値ではなくオブジェクトであることを確認するように注意しています。