Excel VBA

编程

复制单元格区域

在工作表中,

复制单元格区域即复制当前的选择单元格区域中的数据和样式

(不包括单元格

列的宽度)

到目标单元格中。在复制时,

其目标单元格可在当前工作表中,

也可以在其它的

工作表或工作簿中。

1

.当前工作表单元格复制

要使用

VBA

代码对单元格区域进行复制,

可使用

Range

对象的

Copy

方法来实现,

Copy

方法

可将单元格区域复制到指定的区域或剪贴板中。

格式:

表达式

.Copy(Destination)

格式中表达式代表了一个

Range

对象的变量,而方法中的

Destination

参数,则是一个可选

变量,

它指定了要复制区域的目标单元格区域。

如果省略此参数,

会将单元格区域复制到剪

贴板中。

对于单元格区域的复制,

用户可以通过录制宏操作来录制单元格区域的复制。

例如,

通过录

制宏来录制一个简单的复制和粘贴操作,将自动生成如下几行

VBA

代码:

Sub

复制单元格

()

'

复制单元格

Macro

Range("A1").Select

Selection.Copy

Range("D1").Select

ActiveSheet.Paste

End Sub

上面的代码中有两句都使用了

Select

方法,

用户可以使用以下方法对代码进行简化,

其简化

代码如下:

Sub

复制单元格

()

Range("A1").Copy Range("D1")

'

复制单元格

A1

D1

End Sub

上述的两个宏使用的前提是必须有一个活动的工作表,而且这个操作都将发生在

这个工作表中。

2

.不同工作表单元格复制

如果需要把某个单元格区域复制到另一个工作表中或者工作簿中,

只需在代码中指定该工作

簿的工作表中的单元格引用即可。

例如,从

Sheet1

工作表中将一个单击格区域复制到

Sheet2

工作表中。对该工作表进行引用

后,则不管该工作表是否是活动的,这个过程都会运行。代码如下:

Sub

复制工作表

()

Sheet1.Range("A1").Copy Sheet2.Range("A1")

End Sub

还可以使用对象来代替单元格的区域,代码如下:

Private Sub CommandButton1_Click()

Dim r1 As Range, r2 As Range

'

声明对象

'

引用