ich hätte mal eine frage zu einer Schleife.
habe ein VBA Programm geschrieben das ist auch gut im Einsatz.Nur jetzt möchte ich es gerne beschleunigen aber komme nicht weiter.
habe schon alles versucht mit screenupdating usw...
jETZT habe ich die Bremse gefunden.
ich habe 2 ineinander verschachtelte schleifen.
die zweite bremst.
sie geht hier im aktuellen beispiel von 2 bis 3330
Hier die Schleife wie sie aktuell ist.
For x2 = 2 To lz_verwendung
If UCase(Worksheets("Importiere_Files_Verwendung").Cells(x2, wo)) = UCase(aktnr) Then
.....
...
usw....
else
end if
next
Wenn ich diese zweite schleife umbaue zu testzwecken und habe einfach die schleife ohne bedingungen ausgeführt mit einem sprung zu einer sprungmarke..Also So:
For x2 = 2 To lz_verwendung
If UCase(Worksheets("Importiere_Files_Verwendung").Cells(x2, wo)) = UCase(aktnr) Then
goto ueberspring
'hier mein code
'usw....
else
end if
ueberspring:
next
Aber das bringt auch nicht viel.
Bis die schleife mit If bedingung durch ist dauert ewig..
habe die zweite Schleife nun so umgebaut und es läuft innerhalt von Millisekunden durch:
For x2 = 2 To lz_verwendung
goto ueberspring
If UCase(Worksheets("Importiere_Files_Verwendung").Cells(x2, wo)) = UCase(aktnr) Then
'hier mein code
'usw....
else
end if
ueberspring:
next
Warum ist das so ? Es kann doch nicht sein das die if abfrage so stark bremst ?
Weil im ersten beispiel habe ich ja gleich nach der if abfrage den goto eingebaut. ?
Würde mich sehr über Hilfe freuen.
P.s sorry wegen Rechtschreibfehler
Vielen dank gruß Chris