使用 VBA 中的单元格/行列引用复制和粘贴数据
Copying and Pasting data using Cells / Row Column reference in VBA
我在 Excel 2013 VBA 使用行列引用复制和粘贴数据时遇到困难。
这是我的代码片段,但失败了(生成错误消息):
"Application Defined or object defined error"
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")
为什么我关注 rows/columns 方法?因为我希望能够复制和粘贴所有行和列引用都是变量的范围。这是我个人的知识。
提前致谢!
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
我在 Excel 2013 VBA 使用行列引用复制和粘贴数据时遇到困难。
这是我的代码片段,但失败了(生成错误消息): "Application Defined or object defined error"
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")
为什么我关注 rows/columns 方法?因为我希望能够复制和粘贴所有行和列引用都是变量的范围。这是我个人的知识。
提前致谢!
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