为什么在VBA中收到“运行时错误1004”应用程序定义或对象定义错误“?

在删除信息刚被复制的行后,我想将活动单元格select向上移动1行。 错误发生在第19行上:

Dim row As Integer, col As Integer, MyRow As Integer, MyCol As Integer Dim str1 As String, str2 As String row = 2 col = 5 MyRow = ActiveCell.row MyCol = ActiveCell.Column Sheets("Sheet1").Activate Sheets("Sheet1").Range("E2").Select Set curCell = Sheets("Sheet1").Cells(row, col) Do Until IsEmpty(ActiveCell) If ActiveCell = Cells(ActiveCell.row + 1, ActiveCell.Column) Then For col = 1 To 15 Cells(ActiveCell.row, col) = Cells(ActiveCell.row, col) & " | " & Cells(ActiveCell.row + 1 + 1, col) Next col ActiveCell.Offset(1, 0).Select Rows(ActiveCell.row).EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop 

我的印象是ActiveCell.Offset(-1, 0).Select将使select上行1。 这不是如何做? 谢谢

活动单元从E2开始,然后移动到E1 。 如果E1不为空,代码将尝试移动到E0 ,从而产生错误。