Como ejecutar varias macros consecutivamente a intervalos de 2 segundos.
Buenas y gracias a quien se interese:
http://db.tt/wLFxLzM9 (Dropbox)
Tengo un libro excel 2007 con una gran cantidad de macros y quiero automatizar algunas de ellas para que se ejecuten una detrás de otra a intervalos de tiempo (2 seg). La estructura de las macros a encadenar son todas como la que escribo a continuación.
Sub Celula1()
Range("_1112").Interior.ColorIndex = 6
Range("BA54").Select
Application.OnTime Now + TimeSerial(0, 0, 7), "limpiar1", , True
End Sub
Sub limpiar1()
Sheets("ZR1").Range("_1112").Interior.ColorIndex = 0
On Error Resume Next
Application.OnTime Now + TimeSerial(0, 0, 7), "limpiar1", , False
End Sub
NOTA: no se si se puede reducir este código para que haga lo mismo, o ya esta bien asi como esta.
Estas funcionan rellenando una serie de rangos en color y a los 7 segundos les quita el color, algunas están numeradas consecutivamente, Célula0, Célula1, Célula2, etc. Pero otras están nombradas CélulaP11L, CélulaP11C, CélulaP12L, etc. Los cambios de nombres es debido a que pertenecen a diferentes hojas y quiero encadenar solo las de cada hoja.
He probado con esta macro, va bien pero me ejecuta todas las rutinas de golpe y no hace el efecto que yo quiero de que se vayan ejecutando poco a poco separadas por un espacio de tiempo. Ademas no se como invocar a las células con números y letras (las podria cambiar a solo numero si hiciera falta).
Sub Master()
Dim i As Integer
For i = 0 To 4
Application.Run "Célula" & i
Next
End Sub
He probado con la instrucción Call, pero no se como intercalar 2 segundos de espera entre cada ejecución, sin ello el efecto es el mismo que en el caso anterior.
Sub Células()
Call Celula00
intervalo 2 seg.
Call Celula1
intervalo 2 seg.
Call Celula2
intervalo 2 seg.
Call Celula3
intervalo 2 seg.
Call Celula4
End Sub
Es posible hacer esto sin tener que modificar las macros que tengo ahora, ya que aparte hacen otras funciones individualmente a través de un botón.
Gracias de antemano.