Range对象上的excel VBA End方法 - 应用程序定义的错误或对象定义的错误

时间:2013-03-26 20:20:08

标签: excel vba excel-vba

使用范围对象的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)

这两者有什么区别?我确保将变量声明为范围,并且我小心使用“Set”prefex来确保它是一个对象,而不是值。

1 个答案:

答案 0 :(得分:2)

所以,答案就是:你有x1Down你应该xlDown(1而不是l)