Habs korrigiert, aber er meckert bei beiden noch rum. Die -1 oder -2 als Parameter hab ich alle probiert.
Sub CommandButton1_Click()
Dim Traegername As String
Dim objBlatt As Object
Dim strQuellBlatt As String
strQuellBlatt = "Haupt"
On Error GoTo FEHLER
Set objBlatt = ThisWorkbook.Sheets(strQuellBlatt)
On Error GoTo 0
Traegername = Application.InputBox("Bitte geben Sie den Namen des neuen Trägers ein!", "Name", Traegername)
If Traegername = "" Then Exit Sub
If Len(Traegername) > 31 Then
MsgBox "Der Name ist zu lang, er darf nicht mehr als 31 Zeichen enthalten.", vbOKOnly + vbExclamation, "Schwerer Ausnahmefehler"
Exit Sub
End If
If Traegername Like "*[:&/?*[]*" Or Traegername Like "*]*" Then
MsgBox "Im Namen ist ein ungültiges Zeichen enthalten. Folgende Zeichen sind nicht erlaubt: [ : \ & / ? * [ ] * ", vbOKOnly + vbExclamation, "Computerabsturz"
Exit Sub
End If
For Each objBlatt In ThisWorkbook.Sheets
If objBlatt.name = Traegername Then
MsgBox "Dieser Träger exsistiert bereits! Bitte nutzen Sie das vorhandene Arbeitsblatt!", vbOKOnly + vbExclamation, "Allgemeine Schutzverletzung"
Exit Sub
End If
Next
ThisWorkbook.Worksheets("Haupt").Copy After:=ThisWorkbook.Worksheets.Count
ActiveSheet.Cells("C", 2).Value
ActiveSheet.name = Traegername
Set objBlatt = Nothing
Exit Sub
FEHLER:
MsgBox "Fehler: Das zu kopierende Blatt " & strQuellBlatt & " existiert nicht.", vbOKOnly + vbCritical, "Schwerer Verlust"
End Sub