Dim rOWIS As Integer
Dim AOFF As Range
rOWIS = ActiveSheet.Range("A1000").End(xlUp).Row
Range("A" & rOWIS).Copy
AOFF = ActiveSheet.Range("A" & rOWIS).Offset(1, 0)
ActiveSheet.Range(AOFF).Paste
在第6行,我收到错误1004。请你帮助我。
答案 0 :(得分:0)
1004
是由Object Defined Error
生成的Range(AOFF)
Excel没有识别出这种不存在的范围
Dan指出了一个使用Set
来声明变量的解决方案
但是simoco指出的也是正确的,.Paste
中没有Range Object
方法
所以让我们重新编写代码:
Dim rOWIS As Integer
Dim AOFF As Range
With ActiveSheet
rOWIS = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("A" & rOWIS).Copy
'~~> as what Dan commented
Set AOFF = ActiveSheet.Range("A" & rOWIS).Offset(1, 0)
'~~> as simoco commented
AOFF.PasteSpecial xlPasteAll
End With
以上应该有效。我把测试留给你了。
另请参阅THIS以避免运行时。
修改1:以下是使用链接中讨论的内容的较短版本代码。
Dim AOFF As Range
With ActiveSheet
Set AOFF = .Range("A" & .Rows.Count).End(xlup)
AOFF.Copy AOFF.Offset(1, 0)
End With