CheckBox

Buenos días,
Me podrían ayudar en lo siguiente:
En E3 tengo una celda con una lista de validación. Lo que quiero es que cuando esta celda esté en Blanco el CheckBoxInterno este desactivado, y a su vez en la celda F9 tengo otra lista de validación que tiene que cumplir con tres condicionantes:
1) Que cuando E3 esté en blanco F9 también este en blanco y no se pueda desplegar la lista de validación.
2) Que cuando el CheckboxInterno este en False el F9 esté en Blanco y no se puedadesplegar la lista de validación
3) Que cuando active el checkBox salga un texto en F9 que ponga "Seleccione" y cuando me puesicione encima de F9 pueda activar la lista de validación.
He probado con lo siguiente, pero no ha funcionado:
Private Sub CheckInterno_Click()
If E3 = "" Then
CheckInterno.Value = False
If CheckInterno.Value = False Then
[F9].Value = ""
Else
[F9].Value = "Selecciona"
End If
End Sub
Alguien me podría ayudar. Gracias.

1 respuesta

Respuesta
1
He realizado alguna prueba y mi posible solución sería esto:(creo que ya sabes donde ponerlo etc... si tienes dudas me las comentas...
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$E$3" Then
        If Range("e3") <> "" Then
            CheckInterno.Visible = True
            With Range("f9").Validation
                .Delete
                .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                xlBetween, Formula1:="=$K$3:$K$8"
                .IgnoreBlank = True
                .InCellDropdown = True
                .InputTitle = ""
                .ErrorTitle = ""
                .InputMessage = ""
                .ErrorMessage = ""
                .ShowInput = True
                .ShowError = True
            End With
            Range("f9") = "Seleccione"
        Else
            CheckInterno.Visible = False
            Range("f9").Clear
        End If
    End If
End Sub
Se me olvido comentarte que el rango $K$3:$K$8 es la lista desplegable de la celda F9 y que el primer dado de esa lista sea "Selecione", con el fin de que no te de un error al marcar este texto...
He recibido la respuesta pero no me funciona, el CheckBox se queda en visibilidad false y no me deja manipularlo.
Podría haber otra solución.
Gracias.
Cierto es diferente, creo que cuando dices en falso ¿Quieres decir que no esta picado el ckeckinterior
Exacto, así es.
Cambia el código por este, como puedes ver cambia la lineas de CheckInterno.Value =
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$E$3" Then
        If Range("e3") <> "" Then
            CheckInterno.Value = True
            With Range("f9").Validation
                .Delete
                .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                xlBetween, Formula1:="=$K$3:$K$8"
                .IgnoreBlank = True
                .InCellDropdown = True
                .InputTitle = ""
                .ErrorTitle = ""
                .InputMessage = ""
                .ErrorMessage = ""
                .ShowInput = True
                .ShowError = True
            End With
            Range("f9") = "Seleccione"
        Else
            CheckInterno.Value = False
            Range("f9").Clear
        End If
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas