Sé que estoy haciendo algo mal aquí. Intento utilizar la función dormir para retrasar mi código, pero aparece el error "Sub o función no definida". ¿Algun consejo?VBA Sleep no funciona
Respuesta
VBA no tiene una función Sleep
.
Puede importar desde Kernel32.dll así:
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Tenga en cuenta que este se congelará la aplicación.
También puede llamar al DoEvents
en un bucle While
, que no congelará la aplicación.
También puede pausar el contexto de macro actual con Application.Wait T
que no bloqueará todo el proceso.
Todo lo que he intentado parece colgar la aplicación, incluido Application.Wait. Esto parece funcionar sin embargo:
waitTill = Now() + TimeValue("00:15:00")
While Now() < waitTill
DoEvents
Wend
Me gusta este y está funcionando muy bien ... solo una excepción. No puedo encontrar una manera de hacer 500 ms ... Entonces 1 segundo es el tiempo mínimo de espera. ¿Hay alguna manera de hacer menos de 1 segundo? – BobNoobGuy
Puede usar GetSystemTime en kernel32.dll si desea mayor resolución: http://www.freevbcode.com/ShowCode.asp?ID=1618 O si está en Excel, puede llamar a la función de hoja de cálculo now() (como [ahora()] de VBA) que también tiene una resolución más alta: https://groups.google.com/forum/#!topic/microsoft.public.excel.programming/-D6lkjJv2ew –
Application.Wait DateAdd("m", 10, Now) ' Wait for 10 Minutes
Application.Wait DateAdd("s", 10, Now) ' wait for 10 seconds
¡Bienvenido a Stack Overflow! ¡Gracias por publicar tu respuesta! Asegúrese de leer detenidamente [Preguntas frecuentes sobre autopromoción] (http://stackoverflow.com/faq#promotion). También tenga en cuenta que * se requiere * que publique un descargo de responsabilidad cada vez que se vincula a su propio sitio/producto. –
@AndrewBarber: mirando el enlace, no se parece al sitio de Babu, sino más bien como una lectura útil para el SO. ¿Por qué querrías eliminarlo? –
@PeterAlbert Es el sitio de Babu. Lo han estado enviando mucho últimamente (muchas de sus respuestas fueron eliminadas como spam porque ni siquiera contenían tanta información), y está en su perfil aquí. –
- 1. PHP sleep() no funciona
- 2. ¿Cómo funciona sleep()?
- 3. VBA Error Handling no funciona en Excel
- 4. La función Dir() no funciona en Mac Excel 2011 VBA
- 5. Función Dir en Excel 2010 VBA no funciona
- 6. salida php con sleep()
- 7. sleep() en Javascript
- 8. sleep-until in C#
- 9. RSpec: stubbing Kernel :: sleep?
- 10. Cómo std :: thread sleep
- 11. Action Script Sleep function
- 12. pthread sleep linux
- 13. VBA No EsNulo
- 14. sleep() silencia silenciosamente la CPU
- 15. Thread sleep y thread join
- 16. Uso de la función Sleep()
- 17. Command to Sleep Pantalla OSX
- 18. nohup no funciona en OSX
- 19. ¿Qué significa boost :: thread sleep() do?
- 20. VBA: Condicional - no es nada
- 21. sleep del hilo principal está lanzando InterruptedException
- 22. Debo usar Sleep() o simplemente negarlos
- 23. ¿Cómo funciona la protección mediante contraseña del código Excel VBA?
- 24. ¿Hay una función sleep() para Android NDK?
- 25. Timer & TimerTask versus Thread + sleep en Java
- 26. Backgroundworker Sleep para reducir la CPU
- 27. ¿Cuál es el algoritmo detrás de sleep()?
- 28. Usar sleep() e interrupt() para reutilizar thread
- 29. ByRef no funciona en VBA con el tipo de valor de una clase
- 30. Uso de Like * Funciona en MS-Access pero no en VBA
Cuando en el código puedo poner esa declaración? Intenté colocarlo dentro y fuera del sub en el que estoy trabajando, pero obtuve los errores en ambas ocasiones. – sooprise
¿Qué error? Intenta ponerlo en un Módulo. – SLaks
Oh, uy, estaba tratando de ponerlo en un objeto de Excel (tonto). Lo puse en un módulo y ahora funciona. ¡Muchas gracias! Revisé tu respuesta. – sooprise