在VBA中使用单元格/行列引用复制和粘贴数据

我很难在Excel 2013 VBA中使用行列引用来复制和粘贴数据。

这是我的代码片段失败(创build一个错误消息):“应用程序定义或对象定义的错误”

Worksheets("Sheet2").Range(Cells(1, 1), Cells(3, 3)).Copy Worksheets("Sheet1").Range(Cells(1,1)) 

这是另一个可用的版本(将A1:C3从一个工作表复制到另一个:

 Worksheets("Sheet2").Range("A1:C3").Copy Worksheets("Sheet1").Range("A1") 

为什么我注意行/列方法? 因为我希望能够复制和粘贴所有行和列引用都是variables的范围。 这是我个人的知识。

提前致谢!

Cells本身将引用ActiveSheet ,你应该看你的variables资格。 在这里我也使用CodeNames Worksheet.CodeName来防止用户更改工作表名称。

我相信你想要的是这个…

 Option Explicit Sub Test() Sheet2.Range(Sheet2.Cells(1, 1), Sheet2.Cells(3, 3)).Copy Sheet1.Cells(1, 1) End Sub