从工作簿中删除特定工作表

我试图在Excelfunction区上创build一个重复的button,当点击时,将创build一个活动工作簿的重复文件,但我希望它创build一个重复的文件,只有前两张复制在重复文件中,而不是整个活动工作簿。

我试着下面的代码获取重复的文件:

Sub DupliquerFeuille(control As IRibbonControl) Dim Sourcewb As Workbook With Application .ScreenUpdating = False .EnableEvents = False End With Set Sourcewb = ActiveWorkbook 'Copy the sheet to a new workbook nom = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & ActiveWorkbook.Name ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & nom ' ActiveWorkbook.Sheets(Array(1, 2)).Copy End Sub 

但是我正在复制副本文件中的所有活动工作簿。 任何人都可以请帮助我只获得副本文件中复制的第一张活动工作簿。 我尝试了很多,但是我无法得到结果。

尝试这个:

 Sub DupliquerFeuille(control As IRibbonControl) Dim twb As Workbook Dim Sourcewb As Workbook Const shc As Long = 2 ' change this as you need, this will copy first 2 sheets With Application .ScreenUpdating = False .EnableEvents = False End With Set Sourcewb = ActiveWorkbook Sourcewb.Sheets(1).Copy Set twb = ActiveWorkbook For i = 2 To shc Sourcewb.Sheets(i).Copy ,twb.Sheets(twb.Sheets.Count) Next nom = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & Sourcewb.Name twb.SaveAs Sourcewb.Path & "\" & nom, Sourcewb.FileFormat twb.Close False With Application .ScreenUpdating = True .EnableEvents = True End With End Sub 

在保存新的工作簿以删除不喜欢的页面之后,只需添加额外的几行代码呢?

 Application.DisplayAlerts = False Sheets("Sheet1").Delete Application.DisplayAlerts = True 

用纸张名称replace“纸张1”(保留引号)

在代码行下方find当前excel文件的path和名称,将前两张表复制并保存到与主工作簿相同位置的新(复制)工作簿:

  Set Sourcewb = ActiveWorkbook ' Create path and name for export PathName = ThisWorkbook.Path & "_export" ' Copy the sheets so they don't get removed in the main file Sheets(Array(1, 2)).Copy Before:=Sheets(1) ' Move the first two sheets to a new workbook Sheets(Array(1, 2)).Move ' Save the active duplicated workbook ActiveWorkbook.SaveAs Filename:=PathName, FileFormat:=Sourcewb.FileFormat ' Close the active duplicated workbook Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True