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
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