Excel 2003 Arbeitsblattnamen generieren

Ich glaub, ich hab’s
Hallo Ulli, hallo Reinhard,

ich hab’s jetzt mal so getestet, wie Ulli es gemacht hatte: Identischen Code in jedem Tabellenblatt.
Wenn ich jetzt z.B. in Blatt1 bin und dann den Code von z.B. Blatt2 aufrufe, kommt Fehler 400.

Also, Ulli,
wie schon gesagt: Den Code nur in einem eigenen Modul und in allen Blättern löschen. Dann müsste es klappen.

Gruß, Andreas

Etwas erweiterte Version
Hallo Ulli,

hier noch eine etwas erweiterte Version des Makros. Es fängt noch ein paar mögliche Fehler ab, u.a. den von dir unten erwähtnen doppelten Blattnamen.

Sub blattname()
 Dim bn As String
 Dim blatt As Object

 bn = Cells(1, 1)
 bn = Replace(bn, ":", "")
 bn = Replace(bn, "\", "")
 bn = Replace(bn, "/", "")
 bn = Replace(bn, "?", "")
 bn = Replace(bn, "\*", "")
 bn = Replace(bn, "[", "")
 bn = Replace(bn, "]", "")
 bn = Left(bn, 31)
 If Len(bn) = 0 Then
 Beep
 Else
 For Each blatt In ActiveWorkbook.Sheets
 If blatt.Name = bn Then
 MsgBox bn & " schon vorhanden"
 Exit Sub
 End If
 Next
 ActiveSheet.Name = bn
 End If
End Sub

Wie gsagt, nur 1x in ein eigenes Modul kopieren.

Gruß, Andreas