Koopa_Troopa
New Member
- Joined
- Jan 24, 2008
- Messages
- 2
Hola.
Esta es mi primera pregunta en el foro. El caso es que llevo varios días intentando ejecutar una macro de VB cada vez que se cumpla una condición en una celda de Excel. Me explico. Tengo una celda en la que recibo cotizaciones de activos (por ejemplo, Telefónica) y otra en la que compruebo si el valor de la acción supera un cierto valor. Solo quiero que se ejecute la macro la primera vez que se supere el valor, para lo que tengo otra celda que la macro pone a 1 una vez termina de ejecutarse, de modo que la condicion seria: =si(y(cotizacion > umbral;celda_primera_vez = 0);macro();0). Esto sería lo que me gustaría hacer. Como creo que no se pueden ejecutar macros así, sólo funciones, lo que hago es llamar a una función, pero entonces no puedo modificar el valor de la celda_primera_vez, no me deja. Así que lo que intenté hacer es devolver un 1 en la función e intentar que me salte el evento Worksheet_Change, pero no funciona para valores que cambian en fórmula, sólo si el usuario introduce un cambio y pulsa Intro.
Me puede ayudar alguien, por favor?????
Muchas gracias
<!-- google_ad_section_end -->
Esta es mi primera pregunta en el foro. El caso es que llevo varios días intentando ejecutar una macro de VB cada vez que se cumpla una condición en una celda de Excel. Me explico. Tengo una celda en la que recibo cotizaciones de activos (por ejemplo, Telefónica) y otra en la que compruebo si el valor de la acción supera un cierto valor. Solo quiero que se ejecute la macro la primera vez que se supere el valor, para lo que tengo otra celda que la macro pone a 1 una vez termina de ejecutarse, de modo que la condicion seria: =si(y(cotizacion > umbral;celda_primera_vez = 0);macro();0). Esto sería lo que me gustaría hacer. Como creo que no se pueden ejecutar macros así, sólo funciones, lo que hago es llamar a una función, pero entonces no puedo modificar el valor de la celda_primera_vez, no me deja. Así que lo que intenté hacer es devolver un 1 en la función e intentar que me salte el evento Worksheet_Change, pero no funciona para valores que cambian en fórmula, sólo si el usuario introduce un cambio y pulsa Intro.
Me puede ayudar alguien, por favor?????
Muchas gracias
<!-- google_ad_section_end -->