我在使用行列引用复制和粘贴Excel 2013 VBA中的数据时遇到了困难。
这是我的代码片段失败(创建错误消息): "应用程序定义或对象定义错误"
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")
为什么我要注意行/列方法?因为我希望能够复制和粘贴所有行和列引用都是变量的范围。这是我个人的知识。
提前致谢!
答案 0 :(得分:1)
Cells
本身会引用ActiveSheet
,你应该注意你的变量资格。此外,我还使用CodeNames
Worksheet.CodeName作为防范用户更改工作表名称的工作表。
我相信你想要的是......
Option Explicit
Sub Test()
Sheet2.Range(Sheet2.Cells(1, 1), Sheet2.Cells(3, 3)).Copy Sheet1.Cells(1, 1)
End Sub