Alarma de vencimiento de fecha con ventana emergente y sonido en excel.

Llevo un listado de facturas con fecha de vencimiento y me gustaría que llegada la fecha de vencimiento me avisara mediante una ventana emergente ojala con algún sonido para darme cuenta.

¿Es esto posible?

Respuesta
2

Te anexo una macro para enviar un mensaje de aviso.

Para que la macro funcione cambia el nombre de la hoja, la columna en la que tienes las fechas, en estas líneas

Set h1 = Sheets("Hoja1")
c = "C"

Supongo que hay que comparar la fecha contra la fecha de hoy.

Private Sub Workbook_Open()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    c = "C"
    For i = 2 To h1.Range(c & Rows.Count).End(xlUp).Row
        If h1.Cells(i, c) = Date Then
            h1.Select
            h1.Cells(i, c).Select
            Beep
            MsgBox "Alarma de vencimiento"
        End If
    Next
End Sub

La macro se ejecuta cuando abres el archivo de excel. Pon la macro en los eventos de Thisworkbook.

Instrucciones para poner la macro en los eventos ThisWorkbook

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
  4. Del lado derecho copia la macro

Si tienes dudas, mejor envíame tu archivo y me explicas con ejemplos lo que deseas y te adapto la macro.


Saludos. Dante Amor

Si es lo que necesitas.

Si esta muy bien, ¿hay alguna manera de cambiarle el sonido por otro más alto?

Cambia la macro por esta

Public Declare Function Beep Lib "kernel32" _
   (ByVal dwFreq As Long, _
    ByVal dwDuration As Long) As Long
Private Sub Workbook_Open()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    c = "C"
    For i = 2 To h1.Range(c & Rows.Count).End(xlUp).Row
        If h1.Cells(i, c) = Date Then
            h1.Select
            h1.Cells(i, c).Select
            Beep 880, 300
            MsgBox "Alarma de vencimiento"
        End If
    Next
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

Quedaría así:

En los eventos de thisworkbook, pon lo siguiente:

Private Sub Workbook_Open()
    revisar
End Sub

Ahora en un módulo pon lo siguiente:

Public Declare Function Beep Lib "kernel32" _
   (ByVal dwFreq As Long, _
    ByVal dwDuration As Long) As Long
Sub revisar()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    c = "C"
    For i = 2 To h1.Range(c & Rows.Count).End(xlUp).Row
        If h1.Cells(i, c) = Date Then
            h1.Select
            h1.Cells(i, c).Select
            Beep 880, 300
            MsgBox "Alarma de vencimiento"
        End If
    Next
End Sub

Sigue las Instrucciones para poner la macro en un módulo

  1. Abre tu archivo de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro

Saludos. Dante Amor

Recuerda valorar la respuesta.

Muy bueno, gracias

Tengo otra consulta:

Quiero que la casilla de la fecha se ponga lila o azul cuando falten 45 días (que es el tiempo del crédito) y cambie a amarilla cuando falten 8 días para cancelar y roja desde un día antes del vencimiento. Y que si en la casilla del lado no se le pone cancelada siga avisando la alarma.

Que pena molestarte tanto pero te agradezco ya que me has ayudado en otras consultas anteriores y has sido muy amable.

Gracias

Con gusto te sigo ayudando. Podrías crear una nueva pregunta y en el desarrollo me describes con ejemplos lo que necesitas, al final del desarrollo escribe que va dirigida a Dante Amor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas