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

Titel: Office 2016 VBA: Anderes Ergebnis wenn Code in Einzelschritten ausgeführt wird
Beitrag 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
Titel: Antw:Office 2016 VBA: Anderes Ergebnis wenn Code in Einzelschritten ausgeführt wird
Beitrag von: FlorianF am Februar 10, 2017, 13:32:27 Nachmittag
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
Titel: Antw:Office 2016 VBA: Anderes Ergebnis wenn Code in Einzelschritten ausgeführt wird
Beitrag von: lupo1 am Februar 10, 2017, 21:26:15 Nachmittag
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?
Titel: Antw:Office 2016 VBA: Anderes Ergebnis wenn Code in Einzelschritten ausgeführt wird
Beitrag von: FlorianF am Februar 16, 2017, 18:52:44 Nachmittag
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.
Titel: Antw:Office 2016 VBA: Anderes Ergebnis wenn Code in Einzelschritten ausgeführt wird
Beitrag von: maninweb am Februar 17, 2017, 10:32:58 Vormittag
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ß