
Если ячейка L6 показывает «да» или «нет», появляется окно сообщения с подтверждением того, что ячейки L7 и L8 должны быть заполнены. Я видел похожий пост, но мне не удалось заставить кодировку VBA работать в моей ситуации. Любая помощь будет оценена по достоинству, спасибо.
решение1
Для достижения этой цели я хотел бы предложить два возможных метода.
Метод 1. Проверка данных:
- Ситуация 1, когда ячейка
L6
заполнена либо ,Yes
либоNo
.
- Ситуация 2, когда ячейка
L6
не заполнена ни ,Yes
ниNo
.
- Ситуация 3, когда Ячейка
L6
равнаBlank
.
Как это работает:
- Выбрать ячейки
L7
&L8
и изВкладка «Данные»нажмитеВалидация данных. - НаборОбычайв качестве критериев проверки и введите эту формулу.
=NOT(ISBLANK($L$6))*(OR($L$6="Yes",$L$6="No"))
- Завершить сХорошо
Метод 2, VBA (Макрос):
- Щелкните правой кнопкой мышиВкладка листа& ударятьПосмотреть кодиз всплывающего меню выберите редактор VB.
Копировать вставитьэтот Кодекс какСтандартный модульс Листом.
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("L6")) Is Nothing Then If Target.Value = "Yes" Or Target.Value = "No" Then MsgBox "Now You Can fill L7 & L8" Range("L7").Activate ElseIf Target.Value <> "Yes" Or Target.Value <> "No" Then MsgBox "Target cell must have data Yes Or No,, to fill L7 & L8" Target.Activate End If If Target.Value = "" Then MsgBox "Target Cell Can't be Blank,," Target.Activate End If End If End Sub
Примечание.
Этот код начнет отвечать, как только вы заполните ячейку
L6
.При необходимости вы можете скорректировать ссылки на ячейки в формуле, а также в коде VBA.