Create & name worksheets from a list and copy data
Solved/Closed
RachJol
Posts
3
Registration date
Tuesday October 4, 2016
Status
Member
Last seen
October 4, 2016
-
Oct 4, 2016 at 11:10 AM
TrowaD Posts 2921 Registration date Sunday September 12, 2010 Status Moderator Last seen December 27, 2022 - Oct 6, 2016 at 11:07 AM
TrowaD Posts 2921 Registration date Sunday September 12, 2010 Status Moderator Last seen December 27, 2022 - Oct 6, 2016 at 11:07 AM
Related:
- Creating multiple worksheets from a template and a list of names
- My contacts list names - Guide
- Ideogram ai names - Guide
- A5 template word - Guide
- Counter strike 1.6 cheats list - Guide
- Wow monk names - Guide
2 responses
TrowaD
Posts
2921
Registration date
Sunday September 12, 2010
Status
Moderator
Last seen
December 27, 2022
555
Oct 4, 2016 at 11:21 AM
Oct 4, 2016 at 11:21 AM
Hi RachJol,
You mean like this?:
Best regards,
Trowa
Monday, Tuesday and Thursday are usually the days I'll respond. Bear this in mind when awaiting a reply.
You mean like this?:
Sub CreateSheetsFromAList() Dim MyCell As Range, MyRange As Range Set MyRange = Sheets("Data Entry").Range("A2") Set MyRange = Range(MyRange, MyRange.End(xlDown)) For Each MyCell In MyRange Sheets("Template").Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet Range("F3").Value = MyCell.Value Range("F4").Value = MyCell.Offset(0, 1).Value Next MyCell End Sub
Best regards,
Trowa
Monday, Tuesday and Thursday are usually the days I'll respond. Bear this in mind when awaiting a reply.
TrowaD
Posts
2921
Registration date
Sunday September 12, 2010
Status
Moderator
Last seen
December 27, 2022
555
Oct 6, 2016 at 11:07 AM
Oct 6, 2016 at 11:07 AM
Hi Rachael,
To check if a sheet already exist you can use this custom code:
Place this code after the End Sub line and then use this line in your code:
Best regards,
Trowa
To check if a sheet already exist you can use this custom code:
Function SheetExists(SheetName As String) As Boolean SheetExists = False On Error GoTo NoSuchSheet If Len(Sheets(SheetName).Name) > 0 Then SheetExists = True Exit Function End If NoSuchSheet: End Function
Place this code after the End Sub line and then use this line in your code:
If Not SheetExists(“MySheetName”) Then
Best regards,
Trowa
Oct 4, 2016 at 11:53 AM
Thanks so much, that works brilliantly. The only thing is when it reaches the end of the list it tries to copy 'Template' again and comes up with a Run-time error 1004 "That name is already taken. Try a different one".
If you can suggest anything that would be very helpful.
Thanks
Rachael
Oct 4, 2016 at 12:01 PM
That would suggest a duplicate entry in your Room name list.
I downloaded your file, run the code and no error occured.
What did you change?
Best regards,
Trowa
Oct 4, 2016 at 12:08 PM
Oct 4, 2016 at 12:10 PM
Apologies, I now understand what I had done, the room name list I used was a longer one and yes there was a duplicate.
I guess I need to now work on a way of it looking at the Room Name and the Level, so it won't see it as a duplicate.
Thanks so much again for your help.
Kind regards
Rachael