Скорее всего ты злоупотр*цензура*ешь методом Select
Если тебе нужно только проверить ячейку, то
лучше не использовать Select - ничего прыгать не будеть и быстрее
При записи макрорекодером в Excele VBA вставляет Select. но можно и без него
Для сравнения gff - с выделением, gff1 - без выделения
Sub gff()
Dim i As Integer, Count As Integer, tt
tt = Now
With ActiveSheet
For i = 1 To 10000
.Range("A" & i).Select
If Selection.Value = 20 Then
Count = Count + 1
End If
Next i
End With
MsgBox Count & vbCrLf & Format(Now - tt, "nn:ss")
End Sub
Sub gff1()
Dim i As Integer, Count As Integer, tt
tt = Now
With ActiveSheet
For i = 1 To 10000
If .Range("A" & i).Value = 20 Then
Count = Count + 1
End If
Next i
End With
MsgBox Count & vbCrLf & Format(Now - tt, "nn:ss")
End Sub
А! Да! В общем-то, чтобы не менять код
можно использовать в начале макроса запрет обновления экрана
Application.ScreenUpdating = False
а в конце разрешить обновление
Application.ScreenUpdating = True