Programar un macro

Hola que tal, tengo una gran duda acerca de como puedo programar un macro, y la verdad no se que tengo que hacer y quisiera saber si me puede ayudar, le explico la situación, tengo un formulario en excel sobre un inventario de equipos y necesito programar un macro que se active automáticamente (si se puede) para que al momento de que se realize cualquier cambio a las celdas del formulario que contengan los datos de las cantidades del inventario como por ejemplo si aumento la cantidad o que llego al punto mínimo de equipo me envíe un correo a outlook con las nuevas cantidades ya programe el código para que envíe el correo pero no se como hacer para que se active el macro automáticamente y me envíe las nuevas cantidades.
Le agradezco me ayude
Atentamente
Manuel F...

1 Respuesta

Respuesta
1
Cuando hablas de formulario, supongo que te refieres a un formato de una hoja de cálculo con un formato fijo.
Si es así, entonces pienso que puedes utilizar el evento Change del Worksheet donde tienes el formulario para que cada que se realice un cambio en la hoja de cálculo, evalúes la información que te interesa y decidas si se envía el e-mail o no.
Déjame saber si necesitas ayuda para hacer esto.
Hola que tal te agradezco que hayas leído mi pregunta, si tienes razón es una hoja de calculo, la verdad si necesito aclaración porque la verdad no se usar muy bien el excel y no se donde esta el evento change, disculpa las molestias y gracias nuevamente.
Manuel F...
Si das clic derecho sobre el nombre de la hoja donde deseas que se ejecute la macro, y abres el editor de visual basic (por Ver código), y luego seleccionas en este editor en la parte superior donde dice General, selecciona "Worksheet" y a la derecha selecciona "Change".
Este evento se ejecuta cada que haces un cambio de una de las celdas de tu hoja de cálculo (me refiero a cambios de valores, no de formato).
Por lo tanto, si por ejemplo la celda que deseas evaluar es A1, entonces puedes programar un código para que cada que cambie esta celda se envíe el mail que indicas, o que cada que cambie cualquier celda se revise el valor de A1 y si cumple con alguna condición también lo haga, algo así:
Private Sub Worksheet_Change(ByVal Target As Range)
'Corre la macro si A1 es menor que 10 (independientemente de cual celda cambie)
If Range("A1").Value < 10 Then
       Run mandamail
End If
'Corre la macro si A1 es modificado
If Target.Address = "$A$1" Then
       Run mandamail
End If
End Sub
Como me dices que ya tienes lista la macro que envía el mail, entonces esa sería la que coloco como "mandamail".
GRACIAS, de verdad muchísimas gracias, me ha ayudado enormemente no sabe cuanto, ese código era justamente lo que necesitaba, ya el macro me trabaja perfectamente, nuevamente le doy las gracias por todo, por su tiempo, por su ayuda, etc, no se de verdad que hubiera hecho si usted no me hubiera ayudado...
Atentamente
Manuel F...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas