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

时间:2015-03-30 17:00:52

标签: excel vba excel-vba

我想将当前工作簿中的大量工作表保存到不同的工作簿中,并从该保存过程中排除名为“buttons”(在当前工作簿中)的工作表。

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

以下是我目前所拥有的内容,其中包括当前工作簿中的所有工作表。

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

或更直接

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

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