如何复制或移动工作表在 Excel 中使用 VBA 代码,为 Mac

文章翻译 文章翻译
文章编号: 288402 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

您可以复制或移动工作表中的工作簿或工作簿之间使用 Microsoft Visual Basic 应用程序 (VBA) 代码。如果要移动或复制很多的表,或者如果您希望在工作表的多个副本,该功能很有用。

本文提供了一些 VBA 代码来完成这些任务的示例。

更多信息

Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证。这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。本文假定您熟悉演示了正在使用的编程语言以及用于创建和调试过程的工具。Microsoft 支持工程师可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您的具体要求。注意在 Microsoft Excel 2001 中没有为 Mac 服务发布 1 的 Microsoft Office 2001 的 macintosh,您必须将代码放在单独的工作簿中,从所复制的工作表中。

所要复制的工作表作为同一个工作簿中 VBA 代码,复制工作表时,Excel 2001 macintosh 存在问题。

要解决此问题是与 Microsoft Office 2001 年的服务版本 1 为 Mac.有关其他信息在 Excel 2001 年的 Mac,此问题,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
286266当您试图在同一工作簿中复制工作表时,Excel 在挂起
:

复制工作表的示例代码

在活动工作簿中复制特定的工作表

Sub Copier1()
    'Replace "Sheet1" with the name of the sheet to be copied.
    ActiveWorkbook.Sheets("Sheet1").Copy _
       after:=ActiveWorkbook.Sheets("Sheet1")
End Sub
				

在活动工作簿中多个时间复制特定的工作表


Sub Copier2()
    Dim x As Integer
    
    x = InputBox("Enter number of times to copy Sheet1")
    For numtimes = 1 To x
        'Loop by using x as the index number to make x number copies.
        'Replace "Sheet1" with the name of the sheet to be copied.
        ActiveWorkbook.Sheets("Sheet1").Copy _
           After:=ActiveWorkbook.Sheets("Sheet1")
    Next
End Sub
				

复制 ActiveSheet 多时间

Sub Copier3()
   Dim x As Integer
   
   x = InputBox("Enter number of times to copy active sheet")
   For numtimes = 1 To x
      'Loop by using x as the index number to make x number copies.
      ActiveWorkbook.ActiveSheet.Copy _
         Before:=ActiveWorkbook.Sheets("Sheet1")
         'Put copies in front of Sheet1.
         'Replace "Sheet1" with sheet name that you want.
   Next
End Sub
				

一次复制一个工作簿中的全部工作表

Sub Copier4()
   Dim x As Integer

   For x = 1 To ActiveWorkbook.Sheets.Count
      'Loop through each of the sheets in the workbook
      'by using x as the sheet index number.
      ActiveWorkbook.Sheets(x).Copy _
         After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
         'Puts all copies after the last existing sheet.
   Next
End Sub
				

若要移动工作表的示例代码

将活动工作表移动到工作簿中的新位置

Sub Mover1()
    ActiveSheet.Move _
       After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
       'Moves active sheet to end of active workbook.
End Sub
				

将活动工作表移动到另一个工作簿

Sub Mover2()
    ActiveSheet.Move Before:=Workbooks("Test.xls").Sheets(1)
    'Moves active sheet to beginning of named workbook.
    'Replace Test.xls with the full name of the target workbook you want.
End Sub
				

将多张 ActiveWorkbook 中移动到另一个工作簿

Sub Mover3()
   Dim BkName As String
   Dim NumSht As Integer
   Dim BegSht As Integer

   'Starts with second sheet - replace with index number of starting sheet.
   BegSht = 2
   'Moves two sheets - replace with number of sheets to move.
   NumSht = 2
   BkName = ActiveWorkbook.Name
    
    For x = 1 To NumSht
      'Moves second sheet in source to front of designated workbook.
      Workbooks(BkName).Sheets(BegSht).Move _
         Before:=Workbooks("Test.xls").Sheets(1)
         'In each loop, the next sheet in line becomes indexed as number 2.
      'Replace Test.xls with the full name of the target workbook you want.
    Next
End Sub
				

参考

Mac 和更高版本的 Microsoft Excel X

有关 Copy 方法的从 Visual Basic 编辑器中的详细信息在 帮助 菜单上单击 搜索 Microsoft Visual Basic 帮助、 键入 复制方法、 单击 搜索,然后单击查看 "Copy 方法"。列出了三个主题。选择将应用于工作表的一项。

有关该的 Move 方法从 Visual Basic 编辑器中的详细信息在 帮助 菜单上单击 搜索 Microsoft Visual Basic 帮助、 键入 移动方法、 单击 搜索,然后单击查看 "移动 方法。列出了三个主题。选择将应用于工作表的一项。

macintosh Excel 2001 年

有关 Copy 方法的从 Visual Basic 编辑器中的详细信息单击 Office 助手、 键入 复制方法、 单击 搜索,然后单击查看 "复制方法 (MS Excel VBA)

有关在的 Move 方法从 Visual Basic 编辑器中的详细信息单击 Office 助手、 键入 移动方法、 单击 搜索,然后单击查看 "移动方法 (MS Excel VBA)"

有关复制包含在同一工作簿中的代码的工作表的问题的其他信息,请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
286266当您试图在同一工作簿中复制工作表 XL2001: Excel 挂起

Microsoft Excel 98 Macintosh 版

对于有关 Copy 方法的从 Visual Basic 编辑器中的详细信息单击 Office 助手,类型 复制方法,单击 搜索,然后单击查看 "Copy 方法 (Excel 97)

有关该的 Move 方法从 Visual Basic 编辑器中的详细信息单击 Office 助手,键入 将方法,、 单击 搜索,然后单击查看 "移动方法 (Excel 97."

属性

文章编号: 288402 - 最后修改: 2007年1月31日 - 修订: 5.4
这篇文章中的信息适用于:
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
关键字:?
kbmt kbinfo KB288402 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 288402
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com