ich habe folgenden etwas umständlichen aber funktionierenden Makro, um mein Tabellenblatt automatisch zu benennen und im Problemfall den Namen manuell eingeben zu können.
Der einzige Fehler, der noch nicht berücksichtig ist, ist der, dass der Blattname bereits vorhanden ist.
Wie kann ich diese Abfrage mit möglichst wenig Aufwand in den bestehenden Makro einbauen?
Vielen Dank für die Hilfe,
Janine
sheetsname = Range("C5").Value
If Len(sheetsname) > 31 Then
Do
sheetsname = InputBox("Kennzahl für Blattnamen zu lang! Blattnamen bitte manuell eingeben (max 31 Zeichen): ", "Text eingeben...")
If CBool(InStr(1, sheetsname, "/")) _
Or CBool(InStr(1, sheetsname, "\")) _
Or CBool(InStr(1, sheetsname, ":")) _
Or CBool(InStr(1, sheetsname, "?")) _
Or CBool(InStr(1, sheetsname, "[")) _
Or CBool(InStr(1, sheetsname, "]")) _
Or CBool(InStr(1, sheetsname, "*")) Then
MsgBox "Sonderzeichen nicht zulässig!"
sheetsname = "Dummy Dummy Dummy Dummy Dummy Dummy Dummy"
End If
Loop While Len(sheetsname) > 31
ElseIf CBool(InStr(1, sheetsname, "/")) _
Or CBool(InStr(1, sheetsname, "\")) _
Or CBool(InStr(1, sheetsname, ":")) _
Or CBool(InStr(1, sheetsname, "?")) _
Or CBool(InStr(1, sheetsname, "[")) _
Or CBool(InStr(1, sheetsname, "]")) _
Or CBool(InStr(1, sheetsname, "*")) Then
Do
sheetsname = InputBox("Ungültiges Sonderzeichen in Blattname! Blattname bitte manuell eingeben (max 31 Zeichen): ", "Text eingeben...")
If CBool(InStr(1, sheetsname, "/")) _
Or CBool(InStr(1, sheetsname, "\")) _
Or CBool(InStr(1, sheetsname, ":")) _
Or CBool(InStr(1, sheetsname, "?")) _
Or CBool(InStr(1, sheetsname, "[")) _
Or CBool(InStr(1, sheetsname, "]")) _
Or CBool(InStr(1, sheetsname, "*")) Then
MsgBox "Sonderzeichen nicht zulässig!"
sheetsname = "Dummy Dummy Dummy Dummy Dummy Dummy Dummy"
End If
Loop While Len(sheetsname) > 31
End If
Range("C4").Value = sheetsname
Sheets("Vorlage Balkendiagramm (2)").Select
ActiveSheet.name = Worksheets("Auswertungstabelle").Range("C4").Value