将所选工作表保存到VBA中的其他工作簿

我希望将当前工作簿中的许多工作表保存到不同的工作簿中,并从该保存过程中排除名为“button”(在当前工作表中)的工作表。

有人可以帮忙吗? 工作表的数量是可变的FYI。

以下是我迄今为止所包含的所有来自当前工作簿的工作表。

Sub SaveAs() D1 = VBA.Format(Now, "mm_DD_yyyy") For Each ws In Application.Workbooks ws.SaveAs Filename:="C:\Users\e2309\Desktop\Andy's\GBB_Report_" & D1 & ".csv" Next ws Application.Quit End Sub 

或者更直接

  • 复制整个工作簿
  • 删除多余的表

 Sub Simpler() Dim wb As Workbook Dim strFile As String strFile = "C:\temp\yourfile.xlsm" ThisWorkbook.SaveAs strFile, xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = False ThisWorkbook.Sheets("buttons").Delete Application.DisplayAlerts = True End Sub 

这可能会让你更接近一点。 请注意,这是不完整的,非常未经testing。

 Sub work() Dim WB As Workbook Dim Nwb As Workbook Dim WS As Worksheet Set Nwb = New Workbook Set WB = ThisWorkbook For Each WS In WB.Sheets If WS.Name <> "Don't copy" Then WS.Copy Nwb.Sheets("sheet1") End If Next Nwb.Save End Sub