Como hago para que Excel me avise cuando se cumpla una fecha

08/11/2003 - 03:25 por Rob | Informe spam
Necesito tener en una columna los nombre y apellido y en otra fecha de
ingreso y en otra necesito que me saque un aviso que se cumplió un
determinado tiempo, ejemplo 6 meses. Si es posible que esto se ejecute solo
cada vez que uno abra el libro, de manera que haga un sonido o me saque un
cartel.
Desde Ya gracias por cualquier colaboración
 

Leer las respuestas

#1 Héctor Miguel
08/11/2003 - 07:30 | Informe spam
Hola, Rob !

... en una columna ... nombre y apellido ... en otra fecha de ingreso
... en otra ... que me saque un aviso que se cumplio un determinado tiempo, ejemplo 6 meses.
... que ... se ejecute solo cada vez que ... abra el libro ... un sonido o ... un cartel [...]



las siguientes lineas de codigo [como 'ejemplo'] le ponen [o quitan] color al rango_fila 'suponiendo' que...
1.- la fila 1 contiene los titulos ['A1'= nombre y apellidos + 'B1' = fecha de ingreso + 'C1' = tiempo 'transcurrido']
2.- el listado inicia en la fila 2 [con la fechas a 'evaluar' en la columna 'B']
3.- puse el 'parametro' EN DIAS [6 meses de 30 dias = 180]
[por si quieres 'estar al pendiente'] =>modifica los dias a tu mejor conveniencia<4.- si necesitas contar con 'precision' los seis meses [mismo dia 6 meses 'despues']...
seria necesario usar otro 'tipo de evaluacion' :(( ¿comentas?
en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_Open()
Dim Celda As Range, Limite As Integer, Total As Long
Application.ScreenUpdating = False
Limite = 180
With Worksheets("Hoja1")
For Each Celda In Range(.Range("b2"), .Range("b65536").End(xlUp))
With .Range(Celda.Offset(, -1), Celda.Offset(, 1))
If Date - Celda >= Limite Then
Celda.Offset(, 1) = Date - Celda & " días"
With .Font: .Bold = True: .ColorIndex = 3: End With
With .Interior: .ColorIndex = 2: .Pattern = xlGray50: .PatternColorIndex = 19: End With
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
Total = Total + 1
Else
Celda.Offset(, 1).ClearContents
With .Font: .Bold = False: .ColorIndex = xlColorIndexAutomatic: End With
With .Interior: .ColorIndex = xlColorIndexNone: .Pattern = xlPatternNone: End With
.Borders(xlLeft).LineStyle = xlLineStyleNone
.Borders(xlTop).LineStyle = xlLineStyleNone
.Borders(xlRight).LineStyle = xlLineStyleNone
.Borders(xlBottom).LineStyle = xlLineStyleNone
End If
End With
Next
End With
If Total > 0 Then MsgBox "Existen " & Total & " ingresos >= a " & Limite & " días."
End Sub

Saludos,
Héctor.

Preguntas similares