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.

0

Añade tu respuesta

Haz clic para o