Он не знает, какой лист в вашем коде. Лист1 также должен давать ошибки.
Кроме того, каждый новый лист, как у вас, будет индексом 1, так как он создается спереди и индекс ненадежен.
Dim rng As Range
Dim cell As Range
dim namedsheet as worksheet
On Error GoTo Errorhandling
Set rng = Sheets(1).Range("h2:h6") 'This should be an actual sheet name and not an index probably
For Each cell In rng
If cell <> "" Then
set namedsheet = Sheets.Add
namedsheet.name = cell.value
cell.Offset(0, -1).Value = namedSheet.Index
End If
Next cell