Использование нескольких уровней раскрывающихся списков, я создал ряд пользовательских выборов. Пользователь выбирает из первого списка слева. Затем в зависимости от первого выбора «Роль» пользователь может выбрать «Группу». Окончательный выбор «Элемент» основан на «Группе».
Однако пользователь может затем вернуться и выбрать другую «Роль» или «Группу», которая не соответствует ранее выбранному «Элементу».
Есть ли механизм оповещения пользователя?немедленночто они ввели эти ошибочные данные?
Я знаю, что можно «обвести» недействительные данные, но это, похоже, требует от пользователя самостоятельной проверки и обновления каждый раз. Если бы это можно было бы запускать при каждом изменении, это было бы идеально.
решение1
Допустим, вы настроили списки проверки данных на Листе2, и настроили первую проверку данных на Sheet1!A2
. И вы хотите изменить проверку Sheet1!B2
на основе того, что было выбрано в Sheet1!A2
. Вы бы поместили этот код вмодуль рабочего листа для Sheet1:
Код
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
Затем вам нужно настроить дополнительные if
операторы для каждого дополнительного списка, к которому вы хотите добавить проверку.
Объяснение
По сути, это означает, что если на рабочем листе есть изменение, проверьте, находится ли оно в A2
и содержит ли оно значение. Это значение будет только в вашем листе проверки данных. Так что если эти вещи верны, то:
Проверьте каждое возможное значение, а затем установите проверку данных в соответствии B2
с возможностями, определенными в вашем списке проверки данных, как указано.
Расширьте возможности для размещения ваших данных и добавьте дополнительные уровни для дополнительных списков.