Worksheets into Workbook [Solved/Closed]

Game Start Now 135 Posts Thursday January 21, 2010Registration date January 7, 2017 Last seen - Dec 30, 2016 at 03:09 AM - Latest reply: Game Start Now 135 Posts Thursday January 21, 2010Registration date January 7, 2017 Last seen
- Jan 2, 2017 at 03:15 PM
Dear All,

I need to copy each worksheet into workbooks and saved in the specific path except 04 worksheets named NMS, MS, Master and Missing. Further, I need to copy the remaining 04 sheets named mentioned above into each workbook created with macro above.
and all worksheets must be protected with the same password.

Kindly help me in this matter ASAP.

Regards,
Game Start Now
See more 

2 replies

TrowaD 2369 Posts Sunday September 12, 2010Registration dateModeratorStatus June 21, 2018 Last seen - Updated by TrowaD on 2/01/17 at 11:52 AM
0
Thank you
Hi GSN,

This is what I got for you:
  • The name of the new workbook will be the one of the sheet that is copied to it.
  • The new workbook is saved in the same folder as your starting file.
  • All worksheets that are password protected will remain so.
  • The empty sheet is deleted on code line 16. In English it's called "Sheet1". Don't know if you use an english version, otherwise you need to change the sheets reference.


Here is the code:
Sub RunMe()
Dim ws As Worksheet
Dim shName As String

For Each ws In Worksheets
    If ws.Name <> "NMS" And ws.Name <> "MS" And _
    ws.Name <> "Master" And ws.Name <> "Missing" Then
        ws.Select
        shName = ws.Name
        Workbooks.Add
        
        ThisWorkbook.ActiveSheet.Copy _
        after:=ActiveWorkbook.Sheets(Sheets.Count)
        
        Application.DisplayAlerts = False
        Sheets("Sheet1").Delete
        Application.DisplayAlerts = True
        
        ThisWorkbook.Sheets("NMS").Copy _
        after:=ActiveWorkbook.Sheets(Sheets.Count)
        ThisWorkbook.Sheets("MS").Copy _
        after:=ActiveWorkbook.Sheets(Sheets.Count)
        ThisWorkbook.Sheets("Master").Copy _
        after:=ActiveWorkbook.Sheets(Sheets.Count)
        ThisWorkbook.Sheets("Missing").Copy _
        after:=ActiveWorkbook.Sheets(Sheets.Count)
        
        ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path _
        & "\" & shName & ".xlsx"
        ActiveWorkbook.Close
    End If
Next ws
End Sub


Best regards,
Trowa
Monday, Tuesday and Thursday are usually the days I'll respond. Bear this in mind when awaiting a reply.
Game Start Now 135 Posts Thursday January 21, 2010Registration date January 7, 2017 Last seen - Jan 2, 2017 at 03:15 PM
Thanks Alot :)