Range.PasteSpecial вызывает экранное обновление приложения в Excel VBA - PullRequest
0 голосов
/ 25 апреля 2019

Я написал макрос VBA для Excel, который выглядит следующим образом:

Application.ScreenUpdating = False

Dim copyingRange, pastingRange As Range
copyingRange.Cells.Copy
pastingRange.PasteSpecial xlPasteValues

Application.ScreenUpdating = True

Насколько я понимаю, Application.ScreenUpdating = False заставит приложение остановить обновление экрана, однако это не то поведение, которое я наблюдаю. Я копирую диапазон с одного листа на другой, и приложение очень быстро переключает режимы просмотра и обратно, что является нежелательным эффектом.

Удаление строки pastingRange.PasteSpecial xlPasteValues заставляет мерцание экрана исчезать, но, очевидно, приводит к тому, что макрос не выполняет то, что я хочу.

Является ли проблема pastingRange.PasteSpecial xlPasteValues здесь? Должно быть, я что-то здесь неправильно понимаю?

1 Ответ

1 голос
/ 25 апреля 2019

Из комментария, так что это может быть указано как Отвечено :

Вы можете избежать копирования / вставки, так как вам просто нужны значения и запись:

pastingrange.value = copyingrange.value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...