范围(细胞)VBA使用



我曾经通过录制,然后找到所需的零件并在代码中使用它们来完成大部分编码。我正在尝试继续进行更好的事情,并简化复制等简单功能。

,但我遇到了一个我似乎不明白的问题:

Sheets("main").Range(Cells(1, 1), Cells(2, 2)).Copy Sheets("Backup").Range(Cells(1, 1), Cells(2, 2))

以错误结尾:运行时间错误1004,应用程序定义或对象定义的错误。

我尝试这样做时没有问题:

Sheets("main").Cells(lastrowMain, lastcolumn).Copy Sheets("Backup").Range("A" + CStr(lastrowBackup + 1))

我认为问题是粘贴到粘贴的位置的大小,所以我只是将它们匹配为相同,但是我仍然遇到相同的错误。

或者我选择各种单元格的方式是错误的,有更好的方法?

这是一个常见的问题,因为您尚未添加对Cells的表格引用。在这种情况下,将假定活动表,如果不是main(或Backup),则您的范围将跨越不同的表格,因此错误。

而不是完全符合这些行:

With Sheets("main")
    .Range(.Cells(1, 1), .Cells(2, 2)).Copy Sheets("Backup").Range(Sheets("Backup").Cells(1, 1), Sheets("Backup").Cells(2, 2))
End With

相关内容

  • 没有找到相关文章

最新更新