¿Cómo hacer que For Next cambie a Next después de un intervalo de 1 segundo en Excel VBA?
Método 1:
Función de declaración privada GetTickCount Lib "kernel32" () siempre que
Sub main()
Para i = 1 a 3
Debug.GetTickCount - t
' Simplemente agregue las siguientes cuatro líneas.
t = GetTickCount
Hacer
Si GetTickCount - t gt 1000 Entonces salga de Do
DoEvents
Bucle
Siguiente
Fin Sub
Eso es todo. Eso es todo. La desventaja es que consume muchos recursos de la CPU. Casi todo.
Método 2:
Declaración pública Sub Sleep Lib "kernel32" (ByVal dwMillisegundos mientras)
Sub main()
Para i = 1 a 3
Debug.GetTickCount - t
Dormir 1000
Siguiente
DoEvents
Fin Sub
Esto no utiliza ningún recurso de CPU, pero la desventaja es... Durante el retraso, Excel no responderá por completo y se quedará dormido.
No son satisfactorios.
Nada de esto es perfecto, pero eso es todo.