将特定工作表从工作簿复制到另一个工作簿(不包括宏)



我在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

相关内容

最新更新