Frage zu: [Excel] Tab.bl. automatisch beschriften
#11
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
Top
#12
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">
Top
#13
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
Top
#14
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">
Top
#15
(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
Top
#16
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">
Top
#17
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
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste