Worksheets into Workbook
Solved/Closed
Game Start Now
Posts
138
Registration date
Thursday 21 January 2010
Status
Member
Last seen
8 May 2019
-
30 Dec 2016 à 03:09
Game Start Now Posts 138 Registration date Thursday 21 January 2010 Status Member Last seen 8 May 2019 - 2 Jan 2017 à 15:15
Game Start Now Posts 138 Registration date Thursday 21 January 2010 Status Member Last seen 8 May 2019 - 2 Jan 2017 à 15:15
Related:
- Worksheets into Workbook
- Worksheets add vba - Guide
- Vba copy data from one workbook to another - Guide
- Run macro when workbook opens - Guide
- Transfer data from one excel workbook to another automatically - Guide
- How to split excel sheet into multiple worksheets - Guide
1 response
TrowaD
Posts
2921
Registration date
Sunday 12 September 2010
Status
Contributor
Last seen
27 December 2022
555
2 Jan 2017 à 11:47
2 Jan 2017 à 11:47
Hi GSN,
This is what I got for you:
Here is the code:
Best regards,
Trowa
Monday, Tuesday and Thursday are usually the days I'll respond. Bear this in mind when awaiting a reply.
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.
2 Jan 2017 à 15:15