Macros

Hola espero puedan ayudarme tengo un excel con contratos de personal necesito una alarma que me indique cuales vencen en tres día. Gracias.

1 respuesta

Respuesta
1
Necesitas una instrucción que primero valide el día actual y busque los que coincidan con la fecha + 3 días del contrato para determinar una alarma.
Necesito ver los rangos en los que esta la fecha...
Si quieres puedes compartirme el archivo con unos ejemplos "X" y con gusto te ayudo...
Hola gracias por la respuesta tengo las columnas nombre del trabajador, cargo, fecha de inicio, fecha de fin, monto contrato y observaciones. Lo que necesito es que la búsqueda se haga en la columna fecha de fin columna F y contraste con la fecha actual mostrando una alerta de los que vencen en tres días.
OK, al inicio considere que la Macro se ejecutaría cada vez que abrieras el libro, en tal caso te envío el código suponiendo que en las columnas de A1 a F1 vienen los encabezados que me comentas...
Sub Auto_open()
Dim RowFin As Integer
Dim FechaFin As Date
Dim i As Integer
On Error Resume Next
Columns(6).Interior.ColorIndex = 0
Columns(6).ClearContents
Cells(1, 6) = "observaciones"
RowFin = Range("A65500").End(xlUp).Row
For i = 2 To RowFin
FechaFin = Cells(i, 4)
If Date + 3 = FechaFin Then
Cells(i, 6) = "Vencimiento pròximo"
Cells(i, 6).Interior.ColorIndex = 3
End If
Next
Si no necesitas que se ejecute en automático cambia el AUTO_OPEN por otro nombre y ejecutalo desde un botón nuevo..
Saludos y espero esto sea lo que necesitas...
Gracias me funciono muy bien pero si no es mucho pedir el mensaje de vencimiento me gustaría que aparezca en un msgbox.
Perdón por no responder, tuve un problema de salud que me impidió conectarme...
De cualquier forma se puede mediante un MsgBox, pero seria tedioso dar click por cada contrato que este por vencer...
Necesitas crear un UserForm.
--> Ahora inserta un Cuadro de lista
--> Da doble click al userform y aparecerá el código del Form que acabas de crear
--> Cambia la palabra: Click por Initialize
Escribe el siguiente código
For i = 2 To RowFin 
if  Cells(i, 6) = "Vencimiento pròximo" then
listbox1.additem cells(i,1) & " " & cells(i,2) & " " & cells(i,3) & " " & cells(i,4) & " " & cells(i,5) & " " & cells(i,6)
end if
Next
Saludos y espero esto sea lo que necesitas...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas