Excel VBA循环并以交互方式显示更改
我有一个VBA应用程序,它在一个范围内循环并进行一些更改。 但是,我不太关心运行时间,但我想向用户显示更改是在运行时进行的 我在想这样的事情Excel VBA循环并以交互方式显示更改,excel,vba,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 scroll
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
不幸的是,我的应用程序在完成之前会冻结。您可以使用状态栏显示进度。使用
Application.StatusBar=
,然后在其后选择字符串、整数等。如果将其放在“For”语句中,它将随着每次迭代而更新
ActiveWindow.ScrollRow = Row.Row
应该做你想做的事选择或隐藏什么不起作用
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
或
ActiveWindow.ScrollRow=Row.Row
@TimWilliams拯救了我的一天,先生,请写下来作为答案!嘿@V.Hunon我的呢?!?除了诱发癫痫发作之外,这真是太棒了?!?!☄美好的比我的好。
For Each row In rng.Rows
row.Select
'do something.
Next