DoEvents требуется после. Копия для включения всего диапазона?

У меня есть процедура, которая проходит через большое количество файлов на сервере SharePoint и объединяет их. Я заметил, что некоторые данные отсутствуют, и прошел через код, когда этот конкретный файл был текущим исходным файлом.

Я обнаружил, что когда я использовал .Copy, он не копировал весь диапазон данных, которые я указал. Он останавливался в скрытой строке, где данные были отфильтрованы. Я заметил, что если бы я остановил процедуру после того, как я прошел через линию копирования, остальная часть данных затем попала бы в область копирования, как только я ее остановил. Поэтому я попытался поставить DoEvents сразу после линии копирования, и это, казалось, сработало.

Упрощенный пример:

Этот код копирует B13: BY1270 (конец первого непрерывного диапазона перед скрытыми строками из-за фильтра)

Range("B13:BY" & Range("B1500").End(xlUp).Rows.Row).Copy 

Этот код копирует B13: BY1270 и B1274: BY1375 (2 отдельных непрерывных диапазона, исключая скрытые отфильтрованные строки)

 Range("B13:BY" & Range("B1500").End(xlUp).Rows.Row).Copy DoEvents 

Мой вопрос в том, какова логика этого? Почему номер строки из Range("B1500").End(xlUp).Rows.Row игнорируется без DoEvents ? Почему требуется пауза для простой команды с 1 строкой?

Interesting Posts

Как исправить ошибку синтаксиса в инструкции JOIN при использовании SQL для запроса таблицы Excel?

Удалите пространство имен x, используя openxml

Новая ошибка компиляции Excel VBA при сохранении книг

Как преобразовать список неровных строк в матрицу / вершину?

Конкатенация для следующего цикла

Попытка поиска по списку месяцев / лет (excel vba)

Excel Pivot Table Row Labels не освежает

Получите данные каждой строки из CSV, а затем их ячейки данных в переменной

скопируйте таблицу и таблицу с листа на слайд. 2

Чтение однозначного вывода, которое записывается в EXCEL

Необязательная последовательная нумерация

Java POI: как читать значение ячейки Excel, а не формулу, вычисляющую его?

Столбец фильтра для подстроки и возврата макс смежных ячеек – Excel 2013 (без макросов)

Рабочая книга Excel не будет открыта до тех пор, пока код VBA не будет запущен

max id 2 конкретизированная этикетка vba fomulas

Давайте будем гением компьютера.