0

範囲オブジェクトの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を使用して、値ではなくオブジェクトであることを確認するように注意しています。

4

1 に答える 1

2

だから、ここに答えがあります:あなたはあなたが持ってx1Downいるべき場所を持っていますxlDown(lの代わりに1)

于 2013-03-26T22:21:00.567 に答える