visible(true) для Excel, конечно, в самом конце делаете? Если нет, то сделайте в самом конце.
Еще можно для Excel перед циклом поставить Application.ScreenUpdating(false), а после - Application.ScreenUpdating(true). Даже при visible = false это дает некоторую экономию по времени.
|