Excel VBA
编程
复制单元格区域
在工作表中,
复制单元格区域即复制当前的选择单元格区域中的数据和样式
(不包括单元格
列的宽度)
到目标单元格中。在复制时,
其目标单元格可在当前工作表中,
也可以在其它的
工作表或工作簿中。
1
.当前工作表单元格复制
要使用
VBA
代码对单元格区域进行复制,
可使用
Range
对象的
Copy
方法来实现,
方法
可将单元格区域复制到指定的区域或剪贴板中。
格式:
表达式
.Copy(Destination)
格式中表达式代表了一个
对象的变量,而方法中的
Destination
参数,则是一个可选
变量,
它指定了要复制区域的目标单元格区域。
如果省略此参数,
会将单元格区域复制到剪
贴板中。
对于单元格区域的复制,
用户可以通过录制宏操作来录制单元格区域的复制。
例如,
通过录
制宏来录制一个简单的复制和粘贴操作,将自动生成如下几行
代码:
Sub
复制单元格
()
'
Macro
Range("A1").Select
Selection.Copy
Range("D1").Select
ActiveSheet.Paste
End Sub
上面的代码中有两句都使用了
Select
方法,
用户可以使用以下方法对代码进行简化,
其简化
代码如下:
Range("A1").Copy Range("D1")
A1
到
D1
提
示
上述的两个宏使用的前提是必须有一个活动的工作表,而且这个操作都将发生在
这个工作表中。
2
.不同工作表单元格复制
如果需要把某个单元格区域复制到另一个工作表中或者工作簿中,
只需在代码中指定该工作
簿的工作表中的单元格引用即可。
例如,从
Sheet1
工作表中将一个单击格区域复制到
Sheet2
工作表中。对该工作表进行引用
后,则不管该工作表是否是活动的,这个过程都会运行。代码如下:
复制工作表
Sheet1.Range("A1").Copy Sheet2.Range("A1")
还可以使用对象来代替单元格的区域,代码如下:
Private Sub CommandButton1_Click()
Dim r1 As Range, r2 As Range
声明对象
引用