在文件夹中保存特定工作表时出错

我有一个工作表BU。 在表单BU我有4个button。 在4个button中,我有一个名为Save的button。

有了这个保存button,我将表单BU保存在一个特定的文件夹中。

BU是一个Xlsm文件,我希望将同一图纸BU保存为xlsx。

我有下面的代码。 但每次我试图实现我得到一个错误调用

下面的macros不能被保存在macros免费工作簿。

任何人都可以帮我解决这个问题吗?

我正在使用下面的程序,我试着保存在xlsm中,它的工作

Sub save() Dim myWorksheets() As String Dim newWB As Workbook Dim CurrWB As Workbook Dim i As Integer Dim path1, Path2 As String path1 = ThisWorkbook.Path Path2 = path1 & "\Arc\Mat\" Set CurrWB = ThisWorkbook myWorksheets = Split("BU", ",") For i = LBound(myWorksheets) To UBound(myWorksheets) Set newWB = Workbooks.Add CurrWB.Sheets(Trim(myWorksheets(i))).Copy Before:=newWB.Sheets(1) newWB.SaveAs filename:=Path2 & Format(Now(), "ww") & myWorksheets(i) & ".xls" newWB.Close SaveChanges:=False Next i Application.ScreenUpdating = False MsgBox ("File Saved") End Sub 

像这样:

 Sub save() Dim newWB As Workbook Dim CurrWB As Workbook Dim i As Integer Dim path1, Path2 As String path1 = ThisWorkbook.Path Path2 = path1 & "\Arc\Mat\" Set CurrWB = ThisWorkbook myWorksheets = Split("BU", ",") For i = LBound(myWorksheets) To UBound(myWorksheets) Set newWB = Workbooks.Add CurrWB.Sheets(Trim(myWorksheets(i))).Copy Before:=newWB.Sheets(1) 'Prevent message about VBA: Application.DisplayAlerts = False newWB.SaveAs Filename:=Path2 & Format(Now(), "ww") & myWorksheets(i) & ".xlsx", FileFormat:=xlOpenXMLWorkbook Application.DisplayAlerts = True newWB.Close SaveChanges:=False Next i Application.ScreenUpdating = False MsgBox ("File Saved") End Sub 

如果它始终是BU表,可以缩短为:

 ThisWorkbook.Worksheets("BU").Copy Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Arc\Mat\" & Format(Now(), "ww") & " BU.xlsx", FileFormat:=xlOpenXMLWorkbook Application.DisplayAlerts = True ActiveWorkbook.Close SaveChanges:=False