1.2k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

in einem Code habe ich eine Schleife
for i=1 to 100.....
Ich möchte während des Programmlaufes eine dauerhafte Anzeige in einer Msgbox die "mitzählt", also 1 von 100, 2 von 100 usw.
Weiß jemand wie man das in den Code einbauen könnte?
Gruß
Andreas

7 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Andreas,

eine Msgbox hält den Code an, bzw. Du schreibst die Msgbox nach eine Sekunde schließen.
Benutze die Statusleiste.

Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

ja, dann wäre das mit der MsgBox keine so gute Idee...
Wie knn ich denn die Statuszeile dafür nutzen. Keine Ahnung wie der Code dafür aussehen könnte.
Gruß
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)

Option Explicit

Sub Statusbar()
Application.Statusbar = 1
' am Ende
Application.Statusbar = ""
End Sub


Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

ich krieg das nicht hin...
Reicht es die Zeile
Application.Statusbar = 1
in meinen Code aufzunehmen oder muss ich dein Minicode irgendwo einbinden?
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
anstelle von 1 muss i stehen und innerhalb von For Next

Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Hajo,

danke für deine Tipps, aber ich kriege das nicht so hin, dass mir der Schleifenstatus irgendwo angezeigt wird. Es gibt keinen Fehler aber auch keine Anzeige...

...
For lngI = 1 To UBound(vVal, 1) - 1
Application.StatusBar = lngI

If Not IsNumeric(Application.Match(vVal(lngI, 1), vRes, 0)) Then

....
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Deine Schleife ist so schnell das Du es nicht siehst.
Teste es im Einzelschritt.

Gruß Hajo
...