Hay funciones de suspensión y espera disponibles en VBA o mediante una declaración. Sin embargo, la "regla general demasiado simplista" es nunca usar Sleep (). (google '"nunca use la programación sleep ()")
Página del documento para Application.Wait ( https://msdn.microsoft.com/en-us/library/office/ff822851.aspx ). Tenga en cuenta que Dormir y esperar hará que Excel deje de responder durante el tiempo que especifique y esto puede causar "naufragios de trenes".
Si su cálculo implica un ciclo de algún tipo, entonces una forma de manejar esto para su propósito específico (perder el tiempo de cálculo para la disponibilidad de la CPU) es hacer una función especial de espera propia que, por ejemplo, haga bucles DoEvents () durante 1 segundo y Luego regresa.
DoEvents básicamente le dice a su código / intérprete que deje el tiempo para el sistema operativo, etc. Definitivamente hará que su código tarde más. También puede permitirle editar la hoja de trabajo mientras se realiza el cálculo, por lo que su kilometraje puede variar. Prueba.
Ver, por ejemplo, https://stackoverflow.com/questions/469347/is-there-an-equivalent-to-thread-sleep-in-vba