分享

Excel VBA解读(74):移动或复制工作表——Move方法和Copy方法

 L罗乐 2017-08-24

 

有时候,我们可能想复制工作表,保留一份工作表的副本,以免误操作打乱工作表后无法恢复。有时候,我们也可能想移动工作表,调整工作表顺序,将工作表重新排列,以方便工作表的布置。本文介绍在VBA中实现这两种操作。

 

在工作簿底部的工作表标签中单击右键,选择菜单中的“移动或复制工作表”,如下图1所示。

 图1

在出现的对话框中选中“建立副本”,如下图2所示。

 图2

单击“确定”按钮,复制得到工作表Sheet1的一份副本,Excel将其自动命名为工作表Sheet1(2),如下图3所示。

 图3

技巧:选择要复制的工作表标签后,按住Ctrl键,拖动工作表即可完成复制工作表操作。

 

使用宏录制器录制上述操作的代码为:

Sub Macro1()

'

' Macro1 Macro

'由完美Excel创建

 

'

    Sheets('Sheet1').Select

   Sheets('Sheet1').Copy Before:=Sheets(1)

End Sub

 

Copy方法

工作表对象的Copy方法复制指定工作表到工作簿中指定的位置。其语法为:

工作表对象.Copy(Before,After)

说明:

  • 参数Before和参数After用于指定工作表,复制的工作表将放置在该工作表之前或者之后。二者只能同时选一。

  • 如果没有指定参数,Excel将创建一个包含所复制工作表的新工作簿。

 

下面接着来看移动工作表的操作。

在上文图2所示的对话框中,我们不选取“建立副本”复选框,这样将会移动所选择的工作表在对话框中指定的某工作表之前。或者在Excel工作簿中,选择要移动的工作表标签后,直接拖动到想要放置的位置。如下图4所示,将工作表Sheet1(2)移动至工作表Sheet3之前。

 图4

所录制的代码如下:

Sub Macro2()

'

' Macro2 Macro

' 由完美Excel创建

 

'

    Sheets('Sheet1(2)').Select

    Sheets('Sheet1(2)').Move After:=Sheets(3)

End Sub

 

Move方法

工作表对象的Move方法移动指定工作表到工作簿中指定的位置。其语法为:

工作表对象.Move(Before,After)

说明:

  • 参数Before和参数After用于指定工作表,复制的工作表将放置在该工作表之前或者之后。二者只能同时选一。

  • 如果没有指定参数,Excel将创建一个包含所复制工作表的新工作簿。

 

对比一下,Copy方法与Move方法似乎完全相同,只是Copy方法创建了工作表的一份副本,而Move方法只是移动了工作表的位置。

 

下面的语句将工作簿中第3个工作表放置到一个新工作簿中:

Worksheets(3).Copy

或者:

Worksheets(3).Move

 

示例1:将工作表移动到最后

下面的代码将名为“完美Excel”的工作表移动到工作簿工作表的最后。

Sub MoveWorksheets()

    Worksheets('完美Excel').Move_

       After:=Worksheets(Worksheets.Count)

End Sub


本文属原创文章,转载请联系我(xhdsxfjy@163.com)或者注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多