ich habe eine For-Schleife bei der für jede Zeile bestimmte Kriterien abgefragt werden, und je nach Ausgangsstand wird ein anderer Text in der dazugehörenden Zelle "Status" angezeigt. Das funktioniert auch alles prima. Problem ist nur, dass das ganze etwas lange dauert für 300 Zeilen.
Die Dauer ist noch verkraftbar, aber der User weis nicht, wie weit die Schleife fortgeschritten ist und verzweifelt am Bildschirm.
Meine Idee ist nun bei jedem Schleifengang in die Zelle J8 (im Tabellenkopf) zu schreiben cells(8,10)="aktualisiert Status " & intRow2 & " von 300".
intRow2 ist der Zähler in der For-Schleife.
mir wird auch die gewünschte Meldung angezeigt, allerdings bleibt sie auf "aktualisiert Status 1 von 300", die Variable steigt nicht mit. (Und ja ScreenUpdating ist an)
Schalte ich jedoch eine MsgBox dazwischen (sprich, ich muss nach jedem Schleifengang klicken), so funktioniert dies.
Hoffe ich habe es verständlich erklärt. Wo liegt mein Fehler?
Hier noch der Code:
Sub Statusabfrage()
Dim intRow As Integer
Dim intRow2 As Integer
Application.ScreenUpdating = True
'starte eine Schleife pro Zeile von Zeile 12 bis Zeile 300
For intRow = 12 To 20
'führe für jeden Schleifengang 2 Fallabfragen durch und setze StatusStart und StatusEnd _
entsprechend
intRow2 = intRow - 11
Cells(8, 10) = "aktualisiert Status " & intRow2 & " von 300"
MsgBox ("Status " & intRow2)
'... jetzt kommt die Schleifen-Anweisung...
'nächster Schleifengang für die nächste Zeile
Next intRow
Cells(8, 10) = ""
End Sub
Gruß,
Kevin