Para Dam - Ejecución de macro desde una celda formulada

Hola de nuevo Dam...

Tengo las siguientes inquietudes:

Ya tengo la macro pata enviar correo desde excel, y tengo la macro para que se ejecute cuando desde una celda cuando esta cambia. Pero resulta que la celda que va a ser la ejecutante debe estar formulada con un Si condicional, me explico:

A1 = 100

A2 = 20

A3 = A1-A2 = 80

A4 = =Si(A3<19;1;0)

Lo que quiero creo que se podría por dos lados:

1. Cuando la celda A3 sea < 29 la macro se active y envíe el correo

2. Cuando la celda A4 sea 1 macro se active y envíe el correo

Esto es loq ue he construido hasta ahora

Hoja1

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Correo_facturacion End Sub

Modulo1

Sub Correo_facturacion()

Application.ScreenUpdating = False

Set parte1 = CreateObject("outlook.application")

Set parte2 = parte1.createitem(olmailitem)

parte2.To = rafael.velez@xxxx

parte2.Cc = scrm.consultant@xxxxx

parte2.Subject = "Alerta XXXXX facturación"

parte2.display

parte2.send

Set parte1 = Nothing

Set parte2 = Nothing

Application.ScreenUpdating = True

End Sub3

Espero tu acostumbrada ayuda

1 respuesta

Respuesta
1

Cambia esta macro

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Correo_facturacion End Sub

Por esta

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$3" Or Target.Address = "$A$4" Then
If Range("A3") < 29 Or Range("A4") = 1 Then
Correo_facturacion
End If
End If
End Sub

Saludos. Dam

Hola Dam...

Gracias por la pronta respuesta...

No me corrió como me la enviaste pero me diste las pistas de como montarla...quedo asi:

Private Sub Worksheet_Change(ByVal Target As Range) If Range("A4") = 1 Then Correo_facturacion End If End Sub

De nuevo mil y mil gracias.... seguiremos en contacto a medida que sica con la construcción del archivo en el que estoy.

Un abrazo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas