Ich führe meinen Haupt-Sub, den ich alle 5 Schleifen für 10 Sekunden pausieren möchte. Mein Code scheint zu funktionieren, aber das Problem, mit dem ich konfrontiert bin, ist, dass meine Zählvariablen (nämlich j, i und n) ihre Zählungen zurücksetzen, nachdem das Pause-Sub ausgeführt wurde.Kontinuierliches Zählen über Subs
Gibt es eine effektive Möglichkeit, die aktuellen Zählergebnisse nach dem Ausführen des Subs, das innerhalb des Subs sitzt, zu übergeben?
Sub DataPopulation()
Dim count As Integer
Dim n As Integer
Dim i As Integer
Dim Total As Long
Dim j As Integer
i = 6
n = 7
Total = Cells(Rows.count, "A").End(xlUp).Row
For j = 7 To Total
If j Mod 5 = 0 Then
Call Application.OnTime(Now + TimeValue("00:00:10"), "DataPopulation")
Exit Sub
End If
Range("B" & i & ":" & "FO" & i).Select
Selection.AutoFill Destination:=Range("B" & i & ":" & "FO" &n ),Type:=xlFillDefault
n = n + 1
i = i + 1
Next j
End Sub
Sie 'static' verwenden können, Variablen zu deklarieren, die ihre vorherigen Werte – Jochen
@Jochen 'erinnern' - Ich habe versucht, Static n As Integer, Static i As Integer, Static Gesamt As Integer, Static j As Integer deklariert am Anfang der DataPopulation Sub, aber das scheint immer noch die gleiche Wirkung haben –
Sie müssen Ihre Programmlogik ein wenig ändern. Siehe meine Antwort unten. – Jochen