Bloquear ComboBox en formulario según fecha de una celda

Dentro de un formulario, al presionar un botón, se hace que el dato que está en un ComboBox se copie a la celda AN3 de a hoja actual, siempre y cuando la fecha actual (del sistema) no sea inferior a la fecha de la celda B5 de una hoja llamada "USUARIOS"

Private Sub CommandButton1_Click()

'Esta es la primera condición:

If Date < Sheets("USUARIOS").Range("B5") Then Exit Sub
MsgBox "La fecha es mayor al periodo" & Chr(10) & "", vbCritical, "Error "

Exit sub

'Si la condición no se cumple ejecuta la siguiente instrucción:

'ActiveSheet.Unprotect ("xxx")
Range("AN3") = ComboBox1
'ActiveSheet.Protect ("xxx")
Unload Me
End Sub

El problema que tengo es que no se ejecuta ninguna de las instrucciones.

1 respuesta

Respuesta
1

Tienes un doble exit sub

De esta forma, puede estructurar la condición.

Private Sub CommandButton1_Click()
    'Esta es la primera condición:
    If Date < Sheets("USUARIOS").Range("B5") Then
        MsgBox "La fecha es mayor al periodo" & Chr(10) & "", vbCritical, "Error "
        Exit Sub
    Else
        'Si la condición no se cumple ejecuta la siguiente instrucción:
        'ActiveSheet.Unprotect ("xxx")
        Range("AN3") = ComboBox1
        'ActiveSheet.Protect ("xxx")
    End If
    Unload Me
End Sub

Si se cumple que te envíe el msgbox y entonces que se salga.

Si no se cumple que pasa el dato del combo a la celda.


Esta puede ser otra opción

Private Sub CommandButton1_Click()
    'Esta es la primera condición:
    If Date < Sheets("USUARIOS").Range("B5") Then
        MsgBox "La fecha es mayor al periodo" & Chr(10) & "", vbCritical, "Error "
        Exit Sub
    End If
    'Si la condición no se cumple ejecuta la siguiente instrucción:
    'ActiveSheet. Unprotect ("xxx")
    Range("AN3") = ComboBox1
    'ActiveSheet. Protect ("xxx")
    Unload Me
End Sub

Cualquiera de las 2 opciones solamente tiene un exit sub.


Saludos. Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas