Ventana de Alerta excel

Tengo un planilla excel con nombres de maquinas y otra columna con la fecha en la cual hay que calibrar esas maquinas, yo necesito que el sistema me arroje una ventana de alerta o aviso cuando se cumpla el plazo o un poco antes que diga que "hay que calibrar "x"maquina" por ejemplo. Espero me puedas ayudar se que con vba se puede pero no se como.

2 Respuestas

Respuesta
1

http://www.programarexcel.com/2013/11/msgbox-de-alerta-o-aviso.html 

Mira este ejemplo, emite una alerta al ingresar al libro

Respuesta
1
Mi opinión es que la ventana de aviso te la ponga cuando abras el libro
Bien para hacerlo con una macro debes de pulsar ALT+F11 y en la ventana de explorador de proyectos meterse en ThisWorkbook.
Una vez dentro pega este código:
Private Sub Workbook_Open()
Dim N As Integer 'creamos N que va ha ser un entero
Dim Texto As String ' creamos Texto que va ha ser una cadena de texto
On Error GoTo Siguiente ' Si hay un error vete a la etiqueta Siguiente
For N = 2 To 11 'N va ha valer desde 2 hasta 11 tu ponlo desde el inicio de la filas hasta el fin de las filas de las maquinas
    If Cells(N, 2) - Now < 15 Then Texto = Texto & Cells(N, 1) & Chr(13) ' Si la celda(fila N, columna 2)-la fecha de ahora es menor que 15 entonces coge el nombre de la maquina que se encuentra en la celda(N,1)
Siguiente: ' Etiqueta donde tiene que ir si se produce un error, Ejemnplo si hay escrito texto en vez de fechas
Next N
If Texto <> "" Then ' si texto tiene algo, osea si hay alguna máquina que hay que revisar en menos de 15 días
    Texto = "Hay que calibrar las siguientes maquinas: " & Chr(13) & Texto ' escribe este mensaje + el valor de Texto
    MsgBox Texto, vbCritical ' manda el mensaje critico con el valor de Texto
End If
End Sub
Te he puesto en cada línea lo que hace para que lo tengas más claro, de todas formas yo he supuesto que las máquinas las tienes desde la fila 2 hasta la fila 11 (For N=2 to 11), que en la columna B, osea la 2, tienes las fechas de calibración (Cells(N, 2)) y que quieres que te avise cuando queden menos de 15 días (Cells(N, 2)-now < 15. Tu debes de personalizartelo con los rangos, filas, columnas y días que quieras. De todas formas para lo del aviso antes de POR días también podrías ponértelo en una celda y hacer referencia a esa celda. Ejemplo en la celda D1 poner 15 y entonces te quedaría así
If cells(N,2)-now<range("D1") then
De esta forma si más adelante quieres que te avise con más tiempo o menos, no tendrías que tocar el código, podrías cambiarlo directamente en la celda D1.
También sería interesante poner un formato condicional para que te avise con colores al que le queda poco tiempo o incluso se ha pasado de fecha. En rojo, Amarillo...
Bueno si necesitas más ayuda pégame un toque, de todas formas cuéntame como te ha ido.
Según lo que me enviaste así lo traspase pero me lanza un ventana de error de compilación "no se ha definido etiqueta" y me marca la fila que esta subrayada, espero que me puedas ayudar tal vez algo me falto.
Bueno en la columno nº 5 tengo las fechas de calibraciones y según esas fechas necesito que las compare con hoy y si se cumplió el plazo me arroje un mensaje que "calibrar por maquina" eso... no se si con esto me lo hará. O si es posible generarlo sin tener que abrir el documento sino ayudame con la redacción de los comandos por que no entiendo nada de vba.
Por favor
Gracias
Private Sub Workbook_Open()
Dim N As Integer
Dim Texto As String
On Error GoTo Siguiente
For N = 2 To 25
If Cells(N, 5) - Now < 5 Then Texto = Texto & Cells(N, 1) & Chr(13)
Next N
If Texto <> "" Then
Texto = "Hay que calibrar las siguientes maquinas: " & Chr(13) & Texto
MsgBox Texto, vbCritical
End If
End Sub
Cierto perdona con las prisas de ayer se me pasó, antes de Next N tienes que insertar lo siguiente:
Siguiente:
Así tal cual, con esto si hay algún error de fechas se irá a esa etiqueta con lo cual pasa a la siguiente fila, pasando de ese error.
Pruébalo y me cuentas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas