2016-04-22 128 views
-4

我的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 
+1

在这里已经足够长,知道更好。 – findwindow

+0

问题在哪里?我想读问题。我不希望人们在没有提出问题的情况下告诉他们想要的和不想要的。 – peege

回答

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 
相关问题