@All,
beim Beschriften von Tabellenblättern per VBA sind verschiedene Dinge zu berücksichtigen, da andernfalls ein Fehler euftritt:
1. die Länge des Namen darf nicht größer als 31 Zeichen sein
2. einige Zeichen sind im Tabellennamen nicht erlaubt
3. eine (andere) Tabelle mit dem gewünschten Namen ist schon vorhanden
Das wird beim folgenden Code berücksichtigt
Falls es noch weitere als die im Code aufgeführten nicht erlaubten Zeichen gibt, bitte informieren, damit der Code ergänzt werden kann.
 Dateiupload bitte im Forum! So geht es: Klick mich!
Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="left" alt="Grußformel"> Dateiupload bitte im Forum! So geht es: Klick mich!
Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="middle" alt="Beverly's Excel - Inn">
	
	
	
	
beim Beschriften von Tabellenblättern per VBA sind verschiedene Dinge zu berücksichtigen, da andernfalls ein Fehler euftritt:
1. die Länge des Namen darf nicht größer als 31 Zeichen sein
2. einige Zeichen sind im Tabellennamen nicht erlaubt
3. eine (andere) Tabelle mit dem gewünschten Namen ist schon vorhanden
Das wird beim folgenden Code berücksichtigt
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim strTabelle As String
    strTabelle = Sh.Name
    If Target.Count = 1 Then
      If Target.Address = "$A$1" Then
         Application.EnableEvents = False
         If Len(Target.Value) > 31 Then
            MsgBox "Name darf nicht mehr als 31 Zeichen beinhalten"
            Range("A1") = strTabelle
         ElseIf InStr(Target, "/") > 0 Or InStr(Target, "?") > 0 Or InStr(Target, ":") > 0 _
            Or InStr(Target, "\") > 0 Then
            MsgBox "Name enthät nicht zulässige Zeichen"
            Range("A1") = strTabelle
         ElseIf Not IsError(Application.Evaluate(Target.Value & "!A1")) And strTabelle <> Target.Value Then
            MsgBox "Diese Tabelle gibt es schon"
            Range("A1") = strTabelle
         ElseIf Sh.Name <> Sh.Range("A1") Then
            Sh.Name = Sh.Range("A1")
         End If
         Application.EnableEvents = True
      End If
    End If
End SubFalls es noch weitere als die im Code aufgeführten nicht erlaubten Zeichen gibt, bitte informieren, damit der Code ergänzt werden kann.
" height=35" align="left" alt="Grußformel">
" height=35" align="middle" alt="Beverly's Excel - Inn">

 
 

 
