将每个工作表保存为新工作簿
问题描述:
我的VBA下面的函数用于创建新工作表的宏,并将它们保存为主工作簿C列中的某个单元格值。将每个工作表保存为新工作簿
我想要它,而不是创建新的工作表并粘贴其中的数据,将每个工作簿保存在同一个文件夹中的主文件保存在。 我不希望新的工作表,我想新的工作簿具有相同的数据。
Private Function GetWorksheet(sName As String) As Worksheet
On Error Resume Next
Dim oSh As Worksheet
Set oSh = ThisWorkbook.Worksheets(sName)
If oSh Is Nothing Then
Set oSh = ThisWorkbook.Worksheets.Add(after:=oShM)
oSh.Name = sName
oShM.Rows(1).Copy Destination:=oSh.Rows(1) ' Copy header
End If
Set GetWorksheet = oSh
End Function
答
我不知道我知道你在寻找什么,但是,假设你想每个工作表保存在工作簿作为一个新的文件,你可以尝试像下面:
Sub CopyWorksheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Copy
ActiveWorkbook.SaveAs ("C:\YourDirectory\" & ws.Name)
ActiveWorkbook.Close
Next ws
End Sub
在这里已经足够长,知道更好。 – findwindow
问题在哪里?我想读问题。我不希望人们在没有提出问题的情况下告诉他们想要的和不想要的。 – peege