2016-04-22 13 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 
関連する問題