Я запускаю подпрограмму, используя Worksheet_PivotTableUpdate
Событие рабочего листа. Я испытываю значительное отставание и медленное выполнение моей подпрограммы. Моя подпрограмма форматирует столбец в сводной таблице, если значение ячейки соответствует условию моего кода. Как я могу избежать медленного времени выполнения?
Подпрограмма
Option Explicit
Sub setFormatting()
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim c As Range, x As Integer
For x = 13 To 768
For Each c In Sheet3.Cells(x, 2)
If c = "ü" Then
c.Font.Name = "Wingdings"
c.Font.Bold = True
c.Font.Size = 14
c.Font.Color = RGB(0, 176, 80)
ElseIf c = "X" Then
c.Font.Bold = True
c.Font.Size = 12
c.Font.Color = RGB(247, 79, 79)
ElseIf c = "RM Apprvd" Then
c.Font.Color = RGB(212, 140, 10)
c.Font.Bold = True
End If
Next
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Подпрограмма вызова кода
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
setFormatting
End Sub