如何:复制工作表
可以创建工作表的副本,并将该工作表插入到工作簿中某个现有工作表的前面或后面。 如果不指定插入工作表的位置,Excel 将创建一个新工作簿来容纳新工作表。
**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
提示
无论以编程方式复制工作表,还是最终用户手动复制工作表,新的工作表中都没有代码并且新工作表上的控件将不会工作。 这是因为新复制的工作表是 Microsoft.Office.Interop.Excel.Worksheet 对象,而非 Microsoft.Office.Tools.Excel.Worksheet 宿主项。 Windows 窗体控件和宿主控件只能添加到宿主项。 有关更多信息,请参见宿主项和宿主控件的编程限制。
在文档级自定义项中向工作簿添加复制的工作表
使用 Copy 方法复制当前工作簿中的第一个工作表,并将副本放置在第三个表之后。
Globals.Sheet1.Copy(After:=Globals.ThisWorkbook.Sheets(3))
Globals.Sheet1.Copy(missing, Globals.ThisWorkbook.Sheets[3]);
在应用程序级外接程序中向工作簿添加复制的工作表
使用 Copy 方法复制当前工作簿中的第一个工作表,并将副本放置在第三个表之后。
Dim worksheet1 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(1), _ Excel.Worksheet) Dim worksheet3 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(3), _ Excel.Worksheet) worksheet1.Copy(After:=worksheet3)
Excel.Worksheet worksheet1 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[1]); Excel.Worksheet worksheet3 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[3]); worksheet1.Copy(missing, worksheet3);