¿Cómo hacer que una celda sea obligatoria para completar cuando otra celda ha cambiado?

¿Cómo hacer que una celda sea obligatoria para completar cuando otra celda ha cambiado?

Si la celda L6 muestra sí o no, aparece un cuadro de mensaje para confirmar que se deben completar las celdas L7 y L8. Vi una publicación similar, pero no pude hacer que la codificación VBA funcionara en mi situación. Cualquier ayuda sería apreciada, gracias.

Respuesta1

Para lograr el objetivo, me gustaría sugerir dos métodos posibles.

Método 1, Validación de datos:

  • Situación 1, cuando Cell L6se llena con Yeso No.

ingrese la descripción de la imagen aquí


  • Situación 2, cuando Cell L6se llena con ni Yesni No.

ingrese la descripción de la imagen aquí


  • Situación 3, cuando Cell L6es Blank.

ingrese la descripción de la imagen aquí


Cómo funciona:

  1. Seleccionar celdas L7& L8y dePestaña de datoshacer clicValidación de datos.
  2. ColocarCostumbrecomo Criterio de Validación e ingrese esta Fórmula.

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

  1. Terminar conDe acuerdo

Método 2, VBA (Macro):

  • Haga clic derecho enPestaña Hoja& golpearVer códigodesde el menú emergente para obtener el editor VB.
  • Copiar pegareste Código comoMódulo estándarcon la Hoja.

    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
    

NÓTESE BIEN

  • Este código comenzará a responder tan pronto como llenes la celda L6.

  • Puede ajustar las referencias de celda en la Fórmula y en el código VBA según sea necesario.

información relacionada