Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: FlorianF am Februar 10, 2017, 10:44:38 Vormittag
-
Hi Leute,
ich habe gerade ein Problem, welches ich absolut kurios finde :D
Ich habe VBA Code der mit in einer UserForm eingegeben Daten etwas berechnet, formatiert etc. Wenn ich den Code einfach ganz normal ausführen lasse und in der UserForm etwas eintrage wird ein falsches Ergebnis berechnet. Wenn ich nun das ganze mit einem Haltepunkt versehe und dann per Einzelschritt ausführe, mit dabei auch die Überwachung anzeigen lasse, wird alles korrekt berechnet.
Wie kann das sein?
Beste Grüße
Flo
-
Nach langem experimentieren habe ich es nun gelöst mit einer Pause-Function:
Public Function Pause(NumberOfSeconds As Variant)
On Error GoTo Err_Pause
Dim PauseTime As Variant, Start As Variant
PauseTime = NumberOfSeconds
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Exit_Pause:
Exit Function
Err_Pause:
MsgBox Err.Number & " - " & Err.Description
Resume Exit_Pause
End Function
-
Vielleicht kommen ja andere besser mit, als ich (nicht gerade VBA-Fachmann).
Ich sehe nicht den Zusammenhang Deiner Function mit einer Userform.
Was beobachtest Du wodurch genau, und wie behebst Du es?
-
Mit der Function wollte ich nur zeigen, dass ich Excel ausbremse. Haber woanders gelesen, dass es bei schnellen Rechner in manchem Fällen zu Problemen kommen kann dass Objekte noch den alten Wert gespeichert haben wenn Sie weiter verwendet werden.
-
Hallo,
die Funktion lässt einen Zähler in einer Schleife laufen, weshalb Excel dann erstmal damit beschäftigt ist
und letztlich keine Zeit für was anderes hat. Warum sich das Problem in der UserForm dadurch löst,
kann ich nicht sagen, da über das Problem zu wenig bekannt ist. Ich vermute jedoch, dass das
Problem bei der UserForm woanders liegt.
Gruß