我在Excel中有一个带有宏的应用程序。它将任意数量的工作表导入工作簿,并在除一个文件(用户界面(外的每个文件中执行某些计算。
我想制作除用户界面工作表之外的工作表的硬拷贝。基本上,它必须创建一个新工作簿,并将我的应用程序的内容复制到新工作簿中,然后在没有宏的情况下保存。我尝试了不同的方法,但大多数都按原样保存应用程序。
Sub Save_files()
Dim Current As Worksheet
Dim newBook As Workbook
Dim newPath As String
newPath = ThisWorkbook.Path & "" & "RM_" & myDate & ".xlsx"
Set newBook = Workbooks.Add
' Loop through all of the worksheets in the active workbook.
For Each Current In Worksheets
'If Current.Name <> "Start" Or Current.Name <> "Exception" Then
Current.Copy Before:=newBook.Sheets(1)
newBook.SaveAs fileName:=newPath
'End If
Next
End Sub
我使用的代码可以保存一张工作表,然后我添加了一个for循环来迭代所有工作表并保存它们,但它失败了很多次。
请尝试下一种方法:
Sub Save_files()
Dim Current As Worksheet, CopyWB As Workbook
Dim newBook As Workbook, MyDate As String
Dim newPath As String
MyDate = Format(Date, "dd_mm_YY") 'the format you need
Set CopyWB = ActiveWorkbook 'please, use here the workbook to copy from
newPath = ThisWorkbook.Path & "" & "RM_" & MyDate & ".xlsx"
Set newBook = Workbooks.Add
' Loop through all of the worksheets in the active workbook.
For Each Current In CopyWB.Worksheets
' If Current.Name <> "Start" Or Current.Name <> "Exception" Then
Current.Copy Before:=newBook.Sheets(1)
' End If
Next
newBook.SaveAs fileName:=newPath
End Sub