Trabajar con dos macros simultaneaménte

¡Hola!
Solicito ayuda para los siguientes problemas al trabajar con macros en excel.
1) He colocado dos botones de comandos BT1 y BT2, en una hoja de cálculo. Con BT1 en modo click arranco una macro (MC1), es un ciclo (while) que demora tantos segundos como se solicita desde una celda (Ej. 10 seg.)Mientras me muestra en una celda la hora actual, y quiero que antes que pasen los 10 segundos, hacer click en botón BT2 para arranque otra macro (MC2) la cual muestra en una celda el tiempo transcurrido entre el click del BT! Y el click del BT2. El problema es que al hacer click en BT2, la macro no arranca hasta que no ha finalizado por completo la ejecución de la MC1 (10seg.) Por lo que no puedo mostrar el parcial entre los dos click.
2) Quise insertando un objeto TIMER en
La hoja de calculo, pero me da error, ("imposible insertar el objeto"), es un problema de instalación o el objeto TIMER no anda en el excel.
Espero contestación. Atentamente.
Gabriel

1 respuesta

Respuesta
1
Gabriel,
Dentro del ciclo Do While de tu macro MC1 debes colocar la instrucción
DoEvents
La que permite ejecutar otras macros simultáneamente. Esto solucionará tu problema.
Gustavo: La instrucción DoEvents se ajusta perfectamente, desde ya muchas gracias.
Sobre el punto 2) Objeto Timer, ¿Podes orientarme?
Saludos, Gabriel
El objeto Timer en los Forms de Excel no existe. Hay que usar las Declare:
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Y se llama mediante un callback:
id_Timer = SetTimer(0, 0, 5000, AddressOf("tu_macro"))
...
KillTimer 0, id_Timer
Pero se complica mucho en Office 97 ya que éste no acepta callbacks.
Ante cualquier duda, consúltame.
Gustavo
Gustavo: Disculpame la demora, disculpame pero aún no tengo tiempo para probar lo que me contestaste sobre el 2do punto. Con respecto al primero que era lo urgente, anduvo perfectamente.
Agendo las respuestas de modo de continuar cuando me sea propicio.
Gracias por todo.
Gabriel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas