VBA - MsgBox según el valor de una celda

Hola a todos,

Gracias de antemano por vuestra ayuda.
Soy principiante en VBA en Excel.
Necesito hacer que aparezca un MsgBox según el valor de un rango de celdas dado.
Por ejemplo:

Si en el rango (A1:A41) los valores mostrados son superiores a 29,99, debe aparecer un MsgBox con un "texto X"

Es necesario tener en cuenta que en el rango de celdas hay una fórmula que da el resultado.

Muchas gracias a todos

Gustavo

3 respuestas

  1. Moderador
    Hola

    ¿Qué has empezado?
    ¿En qué te bloqueas?

    Enfócate en el evento private sub worsheet_change(target)

    Target contiene la celda modificada

    Solo te queda hacer unos if... Y listo

    --
    Atentamente,
    Jordane
    1
    1. Gracias jordane45,
      Voy a ver si consigo hacer algo con tu sugerencia, aunque no me dice cómo con este evento puedo hacer aparecer un MsgBox cuando una celda X supere el número 29,99.
      0
  2. Colaborador
    hola, ¿en qué momento debe aparecer el mensaje? ¿al abrir el archivo?
    escribes "los valores mostrados son superiores a 29,99": ¿quieres mostrar el mensaje solo si todos los valores son superiores?
    0
    1. No necesariamente al abrir el archivo.
      El mensaje debe aparecer de inmediato cuando el valor de un grupo de celdas, por ejemplo ('A1:A50'), supere ese número.
      Exactamente, quiero que el mensaje aparezca solo si el valor es superior a 29,99.
      0
    2. Colaborador
      @GustavoSRP¿Qué hace que los valores cambien? ¿Qué contienen las fórmulas?
      Hay 41 valores, no has descrito si querías recibir el mensaje cuando una sola de las valores supere 29,99, o si todas deben superar ese umbral?
      0
  3. Los valores de cada celda cambian porque cada celda se refiere a otra celda que hace una suma. La celda en cuestión promedia el monto sobre 52, por ejemplo.

    La celda A1 contiene la siguiente fórmula: =B1/52
    La celda B1 contiene la siguiente fórmula: SUMA(B2:B12)

    Cuando la celda A1 supera 29,99, debe aparecer un mensaje de texto.

    Por lo tanto, cuando una o varias celdas del rango ('A1:A50') alcangen 30 o más, aparece el mensaje de texto.
    0
    1. Colaborador
      y el mensaje va a volver a mostrarse, mientras una de las celdas supere 30?
      0
    2. @yg_beBuena pregunta, habría que hacer que el mensaje aparezca sólo una vez por celda y que en el mensaje aparezca a qué celda se refiere.
      0
    3. Colaborador
      @GustavoSRPsería necesario registrar en algún lugar (en una celda en algún sitio) si hay que hacer aparecer el mensaje o no.
      como que eres novato en VBA, supongo que puedes hacer eso.
      0