Excel 我可以让这个宏更快吗?

Excel 我可以让这个宏更快吗?,excel,vba,Excel,Vba,如何提高此宏的速度 我的宏是: Attribute VB_Name = "RemplazoString" Sub MACRO() bAlerts = Application.DisplayAlerts Application.DisplayAlerts = False For i = 1 To Worksheets.Count Worksheets(i).Cells.Replace What:="T:\", Replacement:="T:\Gestion

如何提高此宏的速度

我的宏是:

Attribute VB_Name = "RemplazoString"
Sub MACRO()
    bAlerts = Application.DisplayAlerts
    Application.DisplayAlerts = False
    For i = 1 To Worksheets.Count
        Worksheets(i).Cells.Replace What:="T:\", Replacement:="T:\Gestion\", LookAt:=xlPart
    Next
    Application.DisplayAlerts = bAlerts
End Sub

查看此处,了解更多宏速度改进:

特别是对于您的代码,您可以更改:

  • Application.screenUpdate=False
  • Application.Calculation=xlCalculationManual
  • Application.EnableEvents=False
    (这是可选的,但我通常会将其放在代码中,以防代码中有事件)
  • 此外,如果您不想在子系统中发生错误时冻结Excel窗口,我会小心使用上面的put a en错误处理程序

    因此,您的代码如下所示:

    Attribute VB_Name = "RemplazoString"
    Sub MACRO()
        On Error GoTo ErrHandler:
        'Speed Up block
        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual
        Application.EnableEvents = False
        '---
        bAlerts = Application.DisplayAlerts
        Application.DisplayAlerts = False
        For i = 1 To Worksheets.Count
            Worksheets(i).Cells.Replace What:="T:\", Replacement:="T:\Gestion\", LookAt:=xlPart
        Next
        Application.DisplayAlerts = bAlerts
    
        'Leave speed up settings as default
        Application.ScreenUpdating = True
        Application.Calculation = xlCalculationAutomatic
        Application.EnableEvents = True
        '---
    Exit Sub
    
    ErrHandler:
        'Leave speed up settings as default
        Application.ScreenUpdating = True
        Application.Calculation = xlCalculationAutomatic
        Application.EnableEvents = True
    End Sub
    

    +我还建议采用“针对每个人”的方法,以优于“针对我”的方法。