Anidar una macro en una función

Como puedo anidar una macro como resultado de una función lógica en excel por ejemplo:
=si(a1=0, , )si el valor fuera verdadero que ejecute una macro y si fuera falso ejecutara otra diferente
Quien me pueda ayudar se lo agradeceré

1 respuesta

Respuesta
1
Para lo que quieres es necesario programes un "evento". Los eventos son acciones que cuando se cumple determinada condición, se ejecuta la macro que se le indica.
Por tanto, con el condicional =SI('condicion';verdadero;falso) puedes interactuar con un evento.
En mi ejemplo doy como resultado de la fórmula condicional (E1).
Ahora activas Visual basic,
seleccionas "Hoja .." la que tengas la fórmula, eliges Worksheet(General -->Worksheet) y copias el texto siguiente:
Private Sub Worksheet_Calculate()
If Range("e1").Value = True Then
tumacro (aquí le pasas el nombre de la macro que necesitas ejecutar)
End If
End Sub
En el supuesto que (e1) sea Verdadero, se ejecutará la macro.
Recuerda que no debes insertar en un módulo, sino en la hoja. Cuando activas las hojas, verás cuales son los eventos que soportan las hojas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas