Duda com msgbox

De ante mano muchas gracias.

Tengo un documento donde se actualizan los datos en la hoja1 y esto ocasiona cambios en todas las demás hojas, en la hoja4 hay variaciones y necesito que cuando una celda de la hoja4 sea mayor a 20% me salga un msgbox de alerta, pero que este aparezca desde que se actualizan los datos.

Espero haber sido claro con mi caso.

Muchas gracias y saludos

1 Respuesta

Respuesta
1

Puedes crear una función que analice la celda que no debe ser mayor a 20%. Esta función debes ponerla en un modulo y usarla como formula en alguna celda. Por ejemplo

Function NoMayor20(range As Excel.range) As String
    Dim valor As Double
    If range.Cells.Count = 1 Then
        valor = range
        If valor > 0.2 Then
            MsgBox "XXXX no puede ser mayor que 20%"
            NoMayor20 = "XXXX no puede ser mayor que 20%"
        Else
            NoMayor20 = "OK"
        End If
    Else
        NoMayor20 = "#N/A"
    End If
End Function

Nota que que debes cambiar las lineas que dice MsgBox "XXXX no puede ser mayor que 20%" y NoMayor20 = "XXXX no puede ser mayor que 20%" por un mensaje que tu quieras.

Esta función debes colocarlo en un modulo, y en alguna celda ya sea en la hoja4 o en la hoja1 la formula siguiente
=NoMayor20(C4), donde C4 es la celda que no debe ser mayor a 20%. Si la celda C4 es menor o igual a 20% se muestra un mensaje de "OK" en la celda que tenga la formula, pero si su valor es mayor a 20% se muestra un msgbox de alerta y también se muestra un mensaje de alerta en la celda que tenga la formula. Nota que la función solo aplica para una celda y si pones mas de una celda mostrara por ejemplo =NoMayor20(C4:C5) se mostrara un mensaje de error "#N/A".

Muchas gracias por tu pronta respuesta.

Pero tengo una duda, en la hoja 4 solo tengo las formulas que están referenciadas a la hoja1, pero necesito que desde que cambie los datos de la hoja1 me salga el mensaje con referencia a la hoja4

La función que te mande va a estar monitoreando el valor de la celda que le pongas, por ejemplo si pones =NoMayor20(Hoja4! C4) en la celda A1 de la hoja1, la función va a estar monitoreando la celda C4 de la hoja4 y de esa forma puedas ver tanto el Msgbox como el Valor de la celda A1 de la hoja1 indicando que la celda C4 de la hoja4 tiene un valor mayor al 20%.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas