我的下面的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
答案 0 :(得分:0)
我不确定我确切知道您在寻找什么,但是,假设您想将工作簿中的每个工作表保存为新文件,您可以尝试以下内容:
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