MsgBox dependiente de fórmulas y condicionales

En la Hoja5, Q3:Q está lleno de fórmulas y en M3M se agrega texto mediante validación de datos. Necesitaría que cuando alguna celda de Q de como resultado menor a 1 y en M se ponga el texto "Facturado", entonces aparezca un msgbox que indique un texto x y el valor que hay en la fila activa, columna D... Ejemplo:

  • La fórmula en Q32 da un resultado menor a 1
  • En M32 se coloca el texto "Facturado"
  • Entonces, MsgBox que indique: "Cliente: " + El texto que está escrito en D32 + "OV N°: " + El texto que está escrito en C32

1 respuesta

Respuesta

Si quieres que funcione cuando capturas el dato "Facturado" en la columna M, entonces pon el siguiente código en los eventos de tu hoja.

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("M3:M" & Rows.Count)) Is Nothing Then
    If Target.CountLarge > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If LCase(Target.Value) = LCase("Facturado") And Range("Q" & Target.Row).Value < 1 Then
      MsgBox "Cliente: " & Range("D" & Target.Row) & " OV N°: " & Range("C" & Target.Row), vbExclamation
    End If
  End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  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 worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

Dante, en primer lugar gracias...

En realidad necesito que la macro se active cuando en Q la fórmula es menor a 1. Sería una activación a partir del cálculo de la fórmula en Q...

Es más, mejor que no tome en cuenta que en M diga "Facturado"... Sólo que tome en cuenta que en Q el resultado sea menor a 1.

Pon aquí la fórmula que tienes en la celda Q

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas