2016-04-22 88 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 
相關問題