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 Contributor Last seen December 27, 2022 - Oct 6, 2016 at 11:07 AM
TrowaD Posts 2921 Registration date Sunday September 12, 2010 Status Contributor 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
- Amd crossfire gpu list - Guide
- Counter strike 1.6 cheats list - Guide
- Snapchat blocked list order - Facebook Forum
- It looks like you're trying to create an account for a business, organization or character. please create a facebook page instead. - Facebook Forum
2 responses
TrowaD
Posts
2921
Registration date
Sunday September 12, 2010
Status
Contributor
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
Contributor
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
Sub CreateSheetsFromAList() Dim MyCell, MyRange As Range Set MyRange = Sheets("Data Entry").Range("A2") Set MyRange = Range(MyRange, MyRange.End(xlDown)) Sheets("Template").Visible = True For Each MyCell In MyRange Sheets("Template").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = MyCell.Value ' renames the new worksheet Range("F3").Value = MyCell.Value Range("F4").Value = MyCell.Offset(0, 1).Value Next MyCell Sheets("Template").Visible = False End SubOct 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