Como crear macro para monitorear fechas de vencimiento de cursos con botón de refrescamiento de el día actual

Necesito por favor asesoría de como programar y hacer la tabla con botón de refrescamiento de fechas.

La intención es supervisar por medio de una tabla monitorear las fechas de los vencimientos de los cursos de los empleados de mi empresa mostrándome en colores o con alerta de los más próximos a vencerse y donde yo pueda actualizar la fecha de el curso realizado ya que son más de 900 empleados

1 Respuesta

Respuesta
1

Feliz navidad,

Disculpa la tardanza prueba estas a ver si te ayuda

En el un modulo copia esta macro

sub revisarfechas ()
'Aneudys01
    Set h1 = sheets("hoja1")
    c = "M"
    For i = 3 To h1.Range(c & Rows.Count).End(xlUp).Row
        h1.Cells(i, c).Interior.ColorIndex = xlNone
            If h1.Cells(i, c) >= Date - 30 And h1.Cells(i, c) <= Date - 16 Then
                h1.Select
                h1.Cells(i, c).Select
              h1.Cells(i, c).Interior.ColorIndex = 6 'amarrillo
                MsgBox "EL CURSO ESTA PROXIMO A VENCERSE"
            End If
            If h1.Cells(i, c) >= Date + 2 And h1.Cells(i, c) <= Date + 30 Then
                h1.Cells(i, c).Interior.ColorIndex = 39 'morado
            End If
            If h1.Cells(i, c) = Date Then

             h1.Cells(i, c).Interior.Color = vbGreen 'verde
            End If          
    Next

end sub

Donde:

Hoja1 seria el nombre de tu hoja

M Seria la columna donde están la fechas a revisar

La macro trabaja de la siguiente manera le quita tolos los fonde de color a todas y las que estén 15 días ante te avisa con mesaje y se pone de color amarrilo y las que estén al día final se pone de color verde esto lo hace con la fecha del sistema osea fecha actual

Esto lo puedes programar en un botón y solo sale click

O si prefieres que para mi es mejor en el evento open del libro

Llamar la macro así cada ves que abras el libro la macro corre solo

Seria así

Private Sub Workbook_Open()
call revisarfechas
End Sub

No olvides valorar si te silve para cerrar la pregunta

Buenas Tardes Feliz navidad para usted también

Este es mi cuadro de empleados más o menos son alrededor de 30 hojas con diferentes puestos de trabajo con por personal donde lo ultimo que iva a hacer era un formato condicional en los días a vencer y cada vez que falten tantos días me saque un color. La fecha de el ultimo EXAMEN lo coloco yo la fehca de vencimiento es =F6+365. Y los días a vencer es G6-HOY()

Pero probé la programación con el código que me envío y no me funciono adaptándola al cuadro no se que me este quedando mal

[email protected] este es mi coprreo

Con fines de ayudar a quien pregunte después seria así

sub revisarfecha () 

   c = "g" 'G es la columda donde estan las fechas

    For Each hOJA In ThisWorkbook.Worksheets   'recorre todas las hojas
    For i = 6 To hOJA.Range(c & Rows.Count).End(xlUp).Row 'empiesa en la fila 6
        hOJA.Cells(i, c).Interior.ColorIndex = xlNone  'limpia color de fondo
            If hOJA.Cells(i, c) <= Date + 30 And hOJA.Cells(i, c) >= Date - 15 Then
                hOJA.Select
                hOJA.Cells(i, c).Select
                 hOJA.Cells(i, c).Interior.ColorIndex = 6 ' le da color amarrilo
            End If
            If hOJA.Cells(i, c) = Date Then
              hOJA.Cells(i, c).Interior.Color = vbGreen ' le da color verde con el mensaje
                MsgBox "ESTE CURSO DE " & ActiveCell.End(xlToLeft) & " TERMINA HOY"
            End If
    Next
    Next
    end sub

sal

$$\begin{align}&saludos& hoja \end{align}$$

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas