2013-03-26 78 views
0

我遇到了使用範圍對象的End方法的錯誤。excel VBA範圍對象的結束方法 - 應用程序定義或對象定義的錯誤

下面的代碼是從我的程序中摘錄出來,當我到達最後一行我得到以下錯誤:「應用程序定義或對象定義錯誤」

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) 

請告訴我兩者之間的區別?我確保將變量聲明爲範圍,並且我非常小心地使用「Set」指令來確保它是一個對象,而不是值。

+0

是「Archive」拼寫是否正確?它和代碼在同一個工作簿中嗎? – 2013-03-26 20:27:50

+10

我看到'x1Down'你應該有'xlDown'! – 2013-03-26 20:28:54

+1

並提防:x1Down不xlDown(非常微小的差異) – 2013-03-26 20:29:04

回答

2

所以,這裏是答案:你有x1Down,你應該有(代替1升)xlDown

相關問題