I’ve been recently getting back into VBA and have been testing out a concept of Adding Worksheets by the string in a variable. I’ve been able to get the worksheets to add successfully and the last two lines of my code are simply to select the sheet name of the variable and then select cell A + the row number that is stored in another variable
In Sheet1, Column A, starting in A1, I have a list of 8 different names that cycles through:
- Bob
- Jeff
- Max
- Steve
- Rosie
- Pippa
- Penelope
- Rob
I am expecting the macro to end on Sheet “Rob” with cell A9 selected, however i get a runtime 1004 error
I have stepped through the code and it is selecting the sheet correctly with the variable, but when it tries to select row A9, the error presents
My code is below:
Sub Add_worksheets()
Dim sheetName As String
Dim rownum As Integer
rownum = 1
Range("A" & rownum).Select
sheetName = ActiveCell.Value
Do Until Range("A" & rownum).Value = ""
Range("A" & rownum).Select
sheetName = CStr(ActiveCell.Value)
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = sheetName
Sheets("sheet1").Select
rownum = rownum + 1
Loop
Sheets(sheetName).Select
Range("A" & rownum).Select
End Sub
Any help would be greatly appreciated
I also suggest you add
if-elseto check if the sheet name exists.. Why do you want toselect? I do not support selections, since you need it you may try this: Because when you are incrementingrownumit goes to 10th cell, that means, Sheetname no longer has a name but empty..Or you may just use an array to do the creation of the sheets and then select a sheet later….Instead of going back and forth to first sheet…with names..