Registriert seit: 10.04.2014
Version(en): Office 2007, 2016, Win 10 64 bit
Hi Frank,
als Gedankenansatz, um den Code zu verschlanken in deiner Problemstellung: Prüfe die Einträge deiner Gültigkeitsliste auf unzulässige Zeichen und Länge. Dann reicht auch dieser Restcode:
Zitat:Private Sub Worksheet_Change(ByVal Target As Range)
Dim strTabelle As String
Dim bytErlaubt As Byte
If Target.Count = 1 Then
If Target.Address = "$B$2" Then
Application.EnableEvents = False
ElseIf Not IsError(Application.Evaluate(Target.Value & "!A1")) And strTabelle <> Target.Value Then
MsgBox "Diese Tabelle gibt es schon"
Range("B2").ClearContents
ElseIf ActiveSheet.Name <> Target.Value And Target <> "" Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Target.Value
End If
Application.EnableEvents = True
End If
End Sub
Mit freundlichen Grüßen :)
Michael
Registriert seit: 12.04.2014
Hi Michael,
ist es nicht so, dass bei einer Gültigkeitsprüfung
entweder eine Liste
oder eine Beschränkung auf bestimmte Zeichen bzw. Länge möglich ist?
Der Code müsste m.E. auch so aussehen:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strTabelle As String
Dim bytErlaubt As Byte
If Target.Count = 1 Then
If Target.Address = "$B$2" Then
Application.EnableEvents = False
If Not IsError(Application.Evaluate(Target.Value & "!A1")) And strTabelle <> Target.Value Then
MsgBox "Diese Tabelle gibt es schon"
Range("B2").ClearContents
ElseIf ActiveSheet.Name <> Target.Value And Target <> "" Then
Worksheets.Add after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Target.Value
End If
End If
Application.EnableEvents = True
End If
End Sub

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!" height=35" align="middle" alt="Beverly's Excel - Inn">
Registriert seit: 15.04.2014
Version(en): Office 2007
Danke Zwergel; Beverly
Im Code Quatsch In der Gültigkeitsliste stehen nur die Datum
Zeichenlänge 01.01.14 = 8
bzw. 14 03 14 = 8
mehr nicht
der gegebene Code funktioniert einwandfrei
danke
Registriert seit: 12.04.2014
Hi Frank,
du hast bei der Gültigkeit auch "Leere Zellen ignorieren" deaktiviert? Wenn nicht, und es kommt jemand auf die Idee, irgendetwas anderes als die laut Liste zugelassen Werte einzutragen - also z.B. ein nicht erlaubtes Sonderzeichen oder mehr als 31 Zeichen - dann würde der verkürzte Code einen Fehler auslösen.

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!" height=35" align="middle" alt="Beverly's Excel - Inn">
Registriert seit: 15.04.2014
Version(en): Office 2007
(18.04.2014, 17:32)Beverly schrieb: kommt jemand auf die Idee, irgendetwas anderes als die laut Liste zugelassen Werte einzutragen
Dem habe ich als alleiniger Kassenbuchpfleger vorgesorgt: Zellenschutz + fest difinierte Datumliste (Gültigkeitsliste) + Fehlermeldung bei Falscheingabe
leere Zellen sind ausgeschlossen, sind nicht vorhanden
Danke für den Hinweis Beverly
Registriert seit: 12.04.2014
Hi Frank,
wenn alles abgesichert ist, steht der Verwendung des verkürzten Codes nichts im Wege.

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!" height=35" align="middle" alt="Beverly's Excel - Inn">
Registriert seit: 10.04.2014
Version(en): Office 2007, 2016, Win 10 64 bit
Hi Karin,
dein Einwand ist sicher korrekt, darüber hatte ich nicht nachgedacht und vor allem eben nicht getestet. War nur so eine Idee.
Mit freundlichen Grüßen :)
Michael