Если вы вызываете перекрестный процесс Excel (например, с помощью автоматизации), то Excel должен автоматически отображать любые изменения по мере выполнения вызовов, если вы не установили xlApp.ScreenUpdating = False
. Если это так, то, вероятно, лучше использовать условное условие, чтобы не устанавливать xlApp.ScreenUpdating = False
, если вы работаете в режиме отладки, когда у вас установлены точки останова. В противном случае вам придется установить xlApp.ScreenUpdating = True
из другого процесса (используя GetObject()
или что-то подобное, чтобы вы могли получить тот же экземпляр приложения Excel).
Однако, если ваш код вызывается в процессе (например, если ваш код работает как надстройка), то ваш код запускается с помощью комбинации горячих клавиш, кнопки CommandBar, обратного вызова управления ленты или лайк. В этом случае Excel является однопоточным, и ваш код останавливает все выполнение Excel. Единственное, что я мог придумать, в этом случае, это использовать «изменить и продолжить», добавив строку xlApp.ScreenUpdating = True
, а затем перейти к следующей строке. (Не забудьте удалить эту строку позже!)
Если вы не используете xlApp.ScreenUpdating = False
, тогда я действительно не знаю, в чем ваша проблема, и вам придется предоставить более подробную информацию о вашем коде ...