Diese Schleife läuft grottenlangsam
Marlon
kann mir jemand bitte mit dieser Schleife helfen. Ich weiß nicht, wie ich das Ding schneller bekomme.
Momentan schafft mein Excelchen gerade mal etwa 3-4 Zeilen pro Sekunde. Dabei hab ich das Hochzählen in der Schleife schon auf 30 limitiert. Das wird eine ziemliche Quälerei auf die 500000 Zeilen zu kommen.
Sub LastDurchlauf()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Set Main = Sheets("Main")
lrow = Range("C1000000").End(xlUp).Row
For i = 5 To lrow
For y = i - 1 To 4 Step -1
If Cells(y, 3) = Cells(i, 3) Then
Cells(i, 57) = i - y
Exit For
End If
If i - y > 30 Then
Cells(i, 57) = "X"
Exit For
End If
Next y
For x = i + 1 To lrow
If Cells(x, 3) > Cells(i, 3) - 2 And Cells(x, 3) 30 Then
Cells(i, 58) = "X"
Exit For
End If
Next x
Range("I1") = i
Application.ScreenUpdating = True
Application.ScreenUpdating = False
Next i
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
ESCAPE-Taste - Excel reagiert nicht:Abgesehen davon läßt sich das VBA-Script, wenn es sich einmal warmgelaufen hat, nicht mehr mit esc stoppen. Ich habe jetzt zwischendurch dieses screenupdate an und aus eingeschoben, um wenigstens zu wissen, wo er gerade ist. Verlangsamt das den Prozess sehr?
Danke und herzliche Grüße,
Marlon