Excel: ¿Cómo puedo establecer avisos para ser alertado cuando se alcance una cifra determinada?

Alguien me podía ayudar, necesito crear condicionantes en excel. Necesito que me avise cuando una camioneta ya cumplió los 5000 kilómetros recorridos para realizarle el servicio de cambio de aceite, los 10,000 kilómetros para realizarle la afinanción, los 30,000 para cambio de balatas y entre 50,000 y 70,000 km para el cambio de llantas.
{"Lat":19.2939701214135,"Lng":-99.6480560302734}

1 respuesta

Respuesta
1
Supongamos que los km recorridos los tienes en la celda A2, hay dos formas de hacerlo:
1. Con fórmulas
2. Con macros
Lo haré con fórmulas y si lo requieres con macros, me dices.
1. Con fórmulas:
SI(A2>=5000;SI(A2>=10000;SI(A2>=30000;SI(A2>=50000;SI(A2<=70000;"Cambio de llantas";"");"Cambio de balatas");"Se requiere afinacion");"Cambio de aceite");"")
Me reporta error de valor; creo que me falto darte más datos, yo capturo todos los días el kilometraje que recorrió la unidad el día anterior, apenas se les dio el servicio de afinación y cambio de aceite, entonces a partir del kilometraje con el que se hizo este servicio, quiero que cuando se cumplan los kilometrajes necesarios para el servicio me aparezca un aviso o algo por el estilo.
De antemano agradezco tu atención y ayuda
1. ¿De qué forma indicas que una mantención ha sido hecha?
2. ¿Almacenas en alguna celda específica el total de kilometraje o no siempre es la misma?
Necesito la respuesta a esas dos preguntas (por el momento) para evaluar una solución. Mientras más explícito seas, más precisa será mi respuesta.
Como apenas se realizaron los servicios a las unidades, el control que se llevaba de los servicios era un desastre, por eso ahora que estoy a cargo de este servicio, me di cuenta que a algunas unidades ya se habían pasado de los 5,000 km, y no se les había realizado el servicio de cambio de aceite. Entonces yo voy a partir de cero tomando en cuenta el kilometraje con el cual se realizo el ultimo servicio.
Con respecto a la captura del kilometraje yo voy capturando por día tengo mi columna con la fecha que corresponde al mes y anoto el kilometraje que recorrió del día de ayer (23-feb-2010) y mañana capturo lo que recorrió hoy (24-feb-2010).
Espero haberte respondido bien a tus preguntas, nuevamente gracias por tu ayuda
¿Cómo sabes en qué kilómtro se realizó el ultimo cambio de aceite?
¿Cómo sabes en qué kilómetro va?
Ejemplo:
El ultimo cambio de aceite se realizó en el kilómetro 13200 ¿Dónde está este dato?
El kilometraje actual es 15000 ¿De dónde y cómo obtienes esta información?
Evidentemente, la cantidad de km recorridos desde el ultimo cambio es 1800 km (15000-13200), pero requiero los dos datos anteriores para calcular este tercero ¿Cómo los obtengo?.
¿Esos datos se almacenan en celdas específicas? ¿Cuáles celdas?
¿O se calculan? ¿Cómo se calculan?
Ejemplo: la unidad 10 se le acaba de hacer el servicio de cambio de aceite y afinación, tenia 58269 km recorridos, el ultimo servicio que se le hizo fue a mediados de 2008 y tomando en cuenta el km de ese año con el km de este año la camioneta ya había recorrido más de los 5,000 km, es más hasta los 10,000.
Los kilómetros recorridos los obtengo de una libreta que llevan los supervisores, ellos cada que una unidad llega a la matriz anota el kilometraje que recorrió en el día.
El formato que manejo es muy sencillo capturo en la columna A los días hábiles y en la columna B, los kilometrajes
En tu planilla ¿dónde dejas registrado esos 58269 km?
Mirando tu planilla ¿Cómo sabes que el ultimo servicio fue realizado a los 58269 km?
Si esa informaciión no está en la planilla, es imposible hacer evaluaciones para enviar una alerta.
Me dices que:
Las fechas las almacenas en A
Los kilometrajes los almacenas en B
- ¿Dónde o cómo almacenas la fecha en que se hizo la mantención o el kilometraje en que ésta fue hecha?
Perdón por el retraso, te voy a describir un poco el formato en el cual trabajo es un libro con 33 hojas en cada hoja esta capturado el kilometraje que ha recorrido una unidad, en la hoja 1 esta la unidad 01, en la celda A11 esta capturado el día lunes, A12 martes y así sucesivamente, en la celda B11 esta capturado el día 01-feb-10, en la celda B12 el día 02-feb-10 y así sucesivamente. Ahora en la celda C11 esta capturado el kilometraje con el que quedo el día 30 de enero (el domingo no se trabajo), lo manejo como kilometraje inicial, en la celda C12 esta capturado el kilometraje que se trabajo el día 01 de febrero, lo manejo como kilometraje final, en la celda C12 tengo la fórmula =+D11, aquí capturo el kilometraje que recorrió la unidad el día 01-feb-10. Por eso necesito el condicionante, ya que deseo que cuando la unidad cumpla con los 5,000 recorridos me avise para realizar el servicio, tengo una columna con observaciones ahí voy colocando lo que se le hace a la unidad en su defecto pongo que estuvo en el taller del 05-feb-10 al 08-feb-10. (En este caso capturo que recorrió 0 km. Tengo una columna en donde aparece la diferencia entre los kilometrajes inicial y final, esta columna nos indica cuantos kilómetros recorrió el día 01-feb-10.
Espero que esto te pueda servir, saludos¡
Te pondré un ejemplo sólo para lo que es cambio de aceite y eso lo tendrás que extrapolar a los demás casos.
- Te recomiendo dedicar una celda en que guardes la última marca de kilometraje de la última vez en que se realizó el servicio (una para cada servicio).
- En este caso tomaré como ejemplo el cambio de aceite.
Supuesto:
- En la celda F2 almacenas el valor del kilometraje del último cambio de aceite (Ej: 58269 )
Procedimiento:
- Cada vez que se ingrese un valor en la columna DE, se hará una comparación entre el valor ingresado y el valor almacenado en la celda F2.
- Si la diferencia es mayor o igual a 5000, envía un mensaje que indica que ya es tiempo de hacer un nuevo cambio de aceite.
- Una vez realizado el cambio de aceite, tienes que actualizar el valor de la celda F2, por el valor actual.
Código:
Este código debe ser ingresado en la sección de código de la hoja que quieres que sea evaluada.
Private Sub Worksheet_Change(ByVal Target As Range)
    'Si se está modificando la columna D
    If esColumna(Target, "D") Then
        If (Target.Text - Me.Range("F2").Text) >= 5000 Then
            MsgBox "Debe realizar cambio de aceite", vbInformation, "Notificación"
        End If

'Aquí val las validaciones para los demás tipos de mantenciones
    End If
End Sub


Este código lo tiees que insertar en un módulo
'Indica si una celda pertenece a una columna especifica, la uso para saber
'si se ha modificado alguna columna de interes
Public Function esColumna(ByVal Rng As Range, strColumna As String) As Boolean
    Dim strCol As String
    strCol = Left(Rng.EntireColumn.Address, InStr(1, Rng.EntireColumn.Address, ":") - 1)
    esColumna = IIf(strCol = ("$" & UCase(strColumna)), True, False)
End Function

----------------------------

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas