Say you want to name your second worksheet with the value in cell A1, the
third worksheet with the value in A2, and so on. Copy this code and paste
it in a standard module:
Sub NameShts()
With ThisWorkbook
.Worksheets(2).Name = [a1]
.Worksheets(3).Name = [a2]
End With
End Sub
Or, say you have 20 names in column A and you want to name the sheets
beginning with the 5th sheet after those 20 names, use something like this
instead:
..
Sub NameShtsA()
With ThisWorkbook
For k=1 to 20
.Worksheets(5+k).Name = cells(k,"a")
Next k
End With
End Sub
Be sure you are on the worksheet with the name list when you run the macro.
If you have a blank cell in one of the 20 cells, you'll get an error. If
there are more names than sheets, you'll get an error.
HTH, James