Добрый день! Подскажите как можно увеличить скорость работы данного макроса? Задача макроса скрывать строки с нулевыми значениями, но при этом оставляя заголовки перед позициями. Он обрабатывает по 5000-6000 строк. Это занимает примерно час времени. Возможно ли увеличить скорость работы?
Код |
---|
Dim Pos As String Dim flag As Boolean Sub Скрыть_только_ноль() Application.ScreenUpdating = False Rows.EntireRow.Hidden = False For i = 31 To Cells(Rows.Count, 1).End(xlUp).Row j = 1 flag = 0 'If (ActiveSheet.Cells(i, 21).Value = 0) And (ActiveSheet.CheckBoxes(1).Value = 1) Then Rows(i).EntireRow.Hidden = True ' пробую сразу скрывать If ActiveSheet.Cells(i, 21).Value = 0 Then Rows(i).EntireRow.Hidden = True ' пробую сразу скрывать If ActiveSheet.Cells(i, 21).Value = "" Then 'Pos = ActiveSheet.Cells(i, 3).Value Do While InStr(1, CStr(Cells(i + j, 3)), CStr(Cells(i, 3))) = "1" If Cells(i + j, 21) > 0 Then flag = 1 Exit Do End If j = j + 1 Loop If flag Then Rows(i).EntireRow.Hidden = False Else Rows(i).EntireRow.Hidden = True End If End If Next i |