Как сделать ячейку обязательной для заполнения, если другая ячейка изменилась?

Как сделать ячейку обязательной для заполнения, если другая ячейка изменилась?

Если ячейка L6 показывает «да» или «нет», появляется окно сообщения с подтверждением того, что ячейки L7 и L8 должны быть заполнены. Я видел похожий пост, но мне не удалось заставить кодировку VBA работать в моей ситуации. Любая помощь будет оценена по достоинству, спасибо.

решение1

Для достижения этой цели я хотел бы предложить два возможных метода.

Метод 1. Проверка данных:

  • Ситуация 1, когда ячейка L6заполнена либо , Yesлибо No.

введите описание изображения здесь


  • Ситуация 2, когда ячейка L6не заполнена ни , Yesни No.

введите описание изображения здесь


  • Ситуация 3, когда Ячейка L6равна Blank.

введите описание изображения здесь


Как это работает:

  1. Выбрать ячейки L7& L8и изВкладка «Данные»нажмитеВалидация данных.
  2. НаборОбычайв качестве критериев проверки и введите эту формулу.

=NOT(ISBLANK($L$6))*(OR($L$6="Yes",$L$6="No"))

  1. Завершить сХорошо

Метод 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.

Связанный контент