Цикл Excel VBA и показать изменения в интерактивном режиме - PullRequest
1 голос
/ 29 мая 2019

У меня есть приложение 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

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

Ответы [ 3 ]

2 голосов
/ 29 мая 2019
ActiveWindow.ScrollRow = Row.Row

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

0 голосов
/ 29 мая 2019

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

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
0 голосов
/ 29 мая 2019

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

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