Verwenden mehrerer Ebenen von Dropdown-Listen, ich habe eine Reihe von Benutzerauswahlen erstellt. Der Benutzer wählt aus der ersten Liste links aus. Dann kann der Benutzer abhängig von der ersten Auswahl „Rolle“ eine „Gruppe“ auswählen. Die endgültige „Element“-Auswahl basiert auf „Gruppe“.
Ein Benutzer kann jedoch dann zurückgehen und eine andere „Rolle“ oder „Gruppe“ auswählen, die nicht mit dem zuvor ausgewählten „Element“ übereinstimmt.
Gibt es einen Mechanismus, um den Benutzer zu warnen?sofortdass sie diese fehlerhaften Daten eingegeben haben?
Ich weiß, dass man ungültige Daten „einkreisen“ kann, aber das erfordert anscheinend, dass der Benutzer sie selbst überprüft und jedes Mal aktualisiert. Wenn dies bei jeder Änderung ausgelöst werden könnte, wäre das perfekt.
Antwort1
Angenommen, Sie haben Ihre Datenüberprüfungslisten auf Blatt2 eingerichtet und Ihre erste Datenüberprüfung auf Sheet1!A2
. Und Sie möchten die Überprüfung auf der Grundlage dessen ändern, Sheet1!B2
was in ausgewählt wurde Sheet1!A2
. Sie würden diesen Code in das Feld einfügen.Arbeitsblattmodul für Sheet1:
Code
Sub worksheet_change(ByVal Target As Range)
If Not Intersect(Target, Range("A2")) Is Nothing Then
If Target.Value = "one" Then
With Range("B2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Sheet2!B1:B2"
End With
End If
If Target.Value = "two" Then
With Range("B2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Sheet2!B3:B4"
End With
End If
If Target.Value = "three" Then
With Range("B2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Sheet2!B5:B6"
End With
End If
End If
End Sub
Anschließend richten Sie zusätzliche if
Anweisungen für jede weitere Liste ein, der Sie eine Validierung hinzufügen möchten.
Erläuterung
Im Grunde bedeutet dies, dass Sie bei einer Änderung im Arbeitsblatt prüfen, ob diese A2
einen Wert enthält. Dieser Wert befindet sich nur in Ihrem Datenüberprüfungsblatt. Wenn diese Dinge also zutreffen, dann gilt:
Überprüfen Sie jeden möglichen Wert und stellen Sie dann die Datenüberprüfung B2
auf die in Ihrer Datenüberprüfungsliste definierten Möglichkeiten ein, wie referenziert.
Erweitern Sie die Möglichkeiten passend zu Ihren Daten und fügen Sie zusätzliche Ebenen für zusätzliche Listen hinzu.