Buscar fecha de textbox en columna de hoja

Necesito hacer un form para llenar una hoja, hasta aquí todo va bien, el problema esta en que pretendo que al poner la fecha en el textbox1 al salir busque en la lista de los días de fiesta si esa fecha es fiesta y me lo avise escribiendo en el Label4 una nota, os adjunto el código que he puesto y no funciona,

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim fiesta As Range
Set fiesta = Sheets("festa").Range("b5,b111")
If TextBox1.Value = fiesta.Value Then
With TAREAS.Label4
        .Caption = "Este dia es fiesta"   'nota
        .Font.Bold = True                 'poner en negrita
        .ForeColor = RGB(255, 0, 0)       'poner rojo las letras
        .BackColor = RGB(0, 0, 0)         'poner fondo negro
    End With
    End If

End Sub

1 Respuesta

Respuesta
1

Dejo macro ajustada.

En primer lugar, si se trata de un rango debe ir de este modo: B5:B111

Separando el rango con comas solo le estás indicando que mire en B5 y en B111.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim fiesta As Range
Set fiesta = Sheets("festa").Range("b5:b11")
on error resume next
Set busco = fiesta.Find(CDate(TextBox1), LookIn:=xlValues, lookat:=xlWhole)
If Not busco Is Nothing Then
        With Label4
            .Caption = "Este dia es fiesta"   'nota
            .Font.Bold = True                 'poner en negrita
            .ForeColor = RGB(255, 0, 0)       'poner rojo las letras
            .BackColor = RGB(0, 0, 0)         'poner fondo negro
        End With
Else
    Label4.Caption = ""   'falta quitar formato
End If
End Sub

Faltaría anteponer el nombre del formulario si no es el activo, como ya lo tenías.

Lo que hace el proceso es formatear el label si encuentra el feriado pero le quita el texto si no lo encuentra. Faltaría que le quites el formato o le asignes otro para estos casos.

PD) Asegurate que el control TextBox1 tenga una fecha válida ... hay macros para esto. Sino CDATE dará error.

Sdos.

Elsa

http://aplicaexcel.com/macros.htm

https://www.youtube.com/channel/UCSftX2GNQiTDDm0C6H9wEVA 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas