优化VBA中的交替格式

时间:2015-04-02 17:46:06

标签: vba excel-vba optimization excel

我有一个运行特定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

1 个答案:

答案 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)的公式。