Llamar macro en condición si.

Hola. Desearía saber como se puede llamar a una macro si se cumple una condición.
Con la fórmula SI, en el campo verdadero o falso no he sabido hacerlo... a lo mejor es que no se puede, si es el caso me podrías poner un ejemplo sencillo de la macro que lo realiza.
Gracias de antemano.

1 respuesta

1
Respuesta de
Buenas...
Visual Basic permite que los macros se ejecuten a partir de "Eventos" (aparte de poder hacerlo manualmente)
Activando el editor de VBA (Alt + F11), en cada hoja o en "ThisWorkbook", encontrarás dos menúes descolgables en la parte superior derecha. Elige la segunda opción del primero y en el que está a la derecha te mostrará los eventos a los que puedes asociar una o varias macros.
Así, en la hoja donde tienes la fórmula condicional podrías elegir el evento "Change". Así cada vez que la hoja cambie, evaluará si tiene que disparar la macro.
Cuando eliges -del menú a la derecha- "Change", verás escrito automáticamente esto:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
End Sub
Entre ambas lineas coloca un condicional de forma tal que si el valor de la celda es verdadero esjecute la macro; si no, que no haga nada.
Supon que en la celda B8, colocaste una fórmula como esta:
=SI(A4>1042002,1,0)
Tu código sería, entonces, algo así como:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
ActiveSheet.Range("B8").Calculate
If B8 = 1 Then
'<pon aquí el nombre de la macro que quieres que se ejecute>
TUMACRO
End If
End Sub
Obviamente, puedes colocar el condicional directamente en la macro sin utilizar la fórmula en la hoja
Es decir, en lugar de:
If B8 = 1 Then
puedes colocar:
If A4>1042002 Then
Esto debería resolver tu pregunta. Si así fuera, te agradeceré un comentario y finalizarla.
Si no, pregúntame de nuevo.
Un abrazo!
Fernando
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje