我有一个运行特定VBA
代码的应用程序,我需要加快速度。
我四处寻找解决方案,但它非常具体,我找不到任何东西。我为了可见性而改变了4-3000行的格式。这在旧计算机上需要很长时间,这是通常运行此过程的地方。你们对如何优化它有什么想法吗?
For i = Range(startCell).Row To Range(endCell).Row Step 2
Rows(i).Interior.color = RGB(50, 50, 50) 'Grey background
Rows(i).Font.color = RGB(0, 240, 255) 'Cyan text
Rows(i + 1).Interior.color = RGB(0, 0, 0) 'Black background
Rows(i + 1).Font.color = RGB(240, 255, 0) 'Yellow text
Next
答案 0 :(得分:0)
尝试在代码模块中添加这样的小程序:
Public Sub ToggleWaitMode(Optional ByVal wait As Boolean = True)
With Excel.Application
.Calculation = IIf(wait, xlCalculationManual, xlCalculationAutomatic)
.Cursor = IIf(wait, xlWait, xlDefault)
.StatusBar = IIf(wait, "Please wait...", False)
.DisplayAlerts = Not wait
.ScreenUpdating = Not wait
End With
End Sub
然后修改你的代码来调用它:
ToggleWaitMode
'<your code>
ToggleWaitMode False
应该加快速度......或者至少在循环运行时给用户一些反馈。
另一种(可能更好的)无代码替代方法是使用条件格式(使用类似=(MOD(ROW(),2)=0)
的公式。