Цикл Excel VBA и интерактивное отображение изменений

У меня есть приложение VBA, которое перебирает диапазон и вносит некоторые изменения. Однако меня мало волнует время выполнения, но я хочу показать пользователю, что изменения были внесены во время выполнения.

Я думал о чем-то подобном.

Private Sub ProcessALBODY(ByRef Fullpath, ByRef MasterWB)
...

    For Each Row In rng.rows
    ... 'Do Something

    DoEvents
    ActiveWindow.ScrollRow = 1 'for each row scrolldown and proceed to next row
    Next

...
End Sub

К сожалению, мое приложение зависает до тех пор, пока оно не будет завершено.

ActiveWindow.ScrollRow = Row.Row
Tim Williams 29.05.2019 02:36

@TimWilliams Спас меня, сэр, пожалуйста, напишите это как ответ!

V.Hunon 29.05.2019 02:47

Эй, @V.Hunon, а как насчет моего?!? Помимо того, что он вызывает судороги, это потрясающе?!?! ☄?

pgSystemTester 29.05.2019 17:50
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
3
59
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете использовать строку состояния, чтобы показать прогресс. Используйте Application.StatusBar =, а затем укажите выбранную строку, целое число и т. д. Если его поместить в оператор For, он будет обновляться с каждой итерацией.

Ответ принят как подходящий
ActiveWindow.ScrollRow = Row.Row

должен делать то, что ты хочешь

Хороший. Лучше, чем у меня.

pgSystemTester 29.05.2019 17:50

Что выбрать или скрыть не работает?

rng.EntireRow.Hidden = True
    For Each row In rng.Rows

        row.EntireRow.Hidden = False
        'do something.
        rng.EntireRow.Hidden = True

    Next

rng.EntireRow.Hidden = False

или

For Each row In rng.Rows

    row.Select
    'do something.

Next

Другие вопросы по теме