Eindeutige Namenseingabe, Take Two (Microsoft Excel)
Chris verwendet eine Datenvalidierungstechnik, die erfolgreich verhindert, dass nicht eindeutige Informationen in eine Spalte eingegeben werden. (Diese Technik wurde in früheren Ausgaben von ExcelTips beschrieben.) Zu Recht stellt er jedoch fest, dass bei der Datenüberprüfung immer noch ein Problem vorliegt: Jemand kann Informationen in eine Zelle einfügen und alle vorhandenen Überprüfungen erfolgreich umgehen.
Wenn Sie beispielsweise „George“ in Zelle A8 eingeben und dann „George“
eingeben In A9 führt die regelmäßige Datenüberprüfung erwartungsgemäß zu einem Fehler, der darauf hinweist, dass der Wert, den Sie eingeben möchten, nicht eindeutig ist.
Wenn Sie jedoch „George“ in Zelle A8 eingeben, diese Zelle kopieren und in Zelle A9 einfügen, wird kein Datenüberprüfungsfehler ausgelöst – das Einfügen ist zulässig.
In Excel führt kein direkter Weg daran vorbei. Sie können jedoch veranlassen, dass Excel bei jedem Versuch, eine Einfügung durchzuführen, eine Überprüfung durchführt. Betrachten Sie das folgende Makro:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next For Each TmpRng In Target TmpVal = TmpRng.Validation.Type If TmpVal > 0 Then If Application.CutCopyMode = 1 Then MsgBox "You cannot paste into validated cells." Application.CutCopyMode = False Exit Sub End If End If Next End Sub
Dieses Makro wird nur ausgeführt, wenn sich die Auswahl in einem Arbeitsblatt ändert. (Dieser Code muss sich im Codefenster für ein Arbeitsblatt befinden.) Er untersucht die Zielzellen (die ausgewählten). Wenn der Benutzer versucht, in eine Zelle einzufügen, in der die Validierung aktiv ist, wird dies nicht zugelassen.
Außerdem wird dem Benutzer ein Dialogfeld angezeigt, das den Fehler anzeigt.
Sie sollten beachten, dass diese Routine nur prüft, ob das Einfügen in eine datenvalidierte Zelle durchgeführt wird. Wenn dies der Fall ist, wird ein Fehler generiert.
Die Routine prüft nicht, ob das, was eingefügt wird, gemäß den Validierungsregeln in den Zielzellen tatsächlich zulässig ist. das wäre viel komplexer und würde einiges mehr Codierung erfordern.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2449) gilt für Microsoft Excel 97, 2000, 2002 und 2003.