Macro para avisar con un mensaje dependiendo del resultado de una celda

Buenas tardes. Estoy manejando esta formula

If Range("E2") > 350 Then MsgBox "CUIDADO, FALTAN POCOS DÍAS PARA CUMPLIR EL AÑO, PARA LA PRÓXIMA CALIBRACIÓN", vbCritical, "ALERTA"

quisiera saber como puedo hacer para que no sea solo a una celda sino aun rango ejemplo: E2 Hasta la E30, y que sea mayor a 350 y menos de 365, y si el resultado es mayor a 365 saque otro aviso distinto.

muchas gracias

1 Respuesta

Respuesta
1

¿En las celdas E2 a E30 tienes valores? Por ejemplo: 349, 350, 360, ¿etc? ¿O tienes fechas?

si tengo valores 349, 350 , 366

Esta sería la macro

Sub revisar()
'Por.DAM
u = 30
u = Range("E" & Rows.Count).End(xlUp).Row
For i = 2 To u
    If Cells(i, "E") > 350 And Cells(i, "E") <= 365 Then
        MsgBox "CUIDADO, EN LA FILA: " & i & ", FALTAN POCOS DÍAS PARA CUMPLIR EL AÑO," & _
               "PARA LA PRÓXIMA CALIBRACIÓN", vbCritical, "ALERTA"
    ElseIf Cells(i, "E") > 365 Then
        MsgBox "LA FILA: " & i & ", ES MAYOR A UN AÑO", vbCritical, "ALERTA"
    End If
Next
End Sub

Si quieres que llegue hasta la fila 30, borra en la macro esta línea

u = Range("E" & Rows.Count).End(xlUp).Row

Si quieres que llegue hasta la última fila de la columna E, entonces borra esta línea

u = 30

Saludos. Dante Amor
Si es lo que necesitas.

muchísimas gracias funciono de maravilla, como podría hacer para que esta macro corriera cuando habrá el archivo de excel

Instrucciones para poner la macro en 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

Private Sub Workbook_Open()
'Por.DAM
u = 30
u = Range("E" & Rows.Count).End(xlUp).Row
For i = 2 To u
If Cells(i, "E") > 350 And Cells(i, "E") <= 365 Then
MsgBox "CUIDADO, EN LA FILA: " & i & ", FALTAN POCOS DÍAS PARA CUMPLIR EL AÑO," & _
"PARA LA PRÓXIMA CALIBRACIÓN", vbCritical, "ALERTA"
ElseIf Cells(i, "E") > 365 Then
MsgBox "LA FILA: " & i & ", ES MAYOR A UN AÑO", vbCritical, "ALERTA"
End If
Next
End Sub

Nota: La macro debe quedar en el evento Open

Saludos. Dante Amor
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas