Ich möchte einen Wert überwachen und eine E-Mail-Benachrichtigungen erhalten, wenn bestimmte Bedingungen erfüllt sind. Ich habe ein Makro wie folgt:Wie bekomme ich VBA Macro, um kontinuierlich im Hintergrund zu laufen?
Do While True
Worksheet.Calculate
If Value > 10 Then
SendEmail
End If
Sleep 60*CLng(1000)
Loop
Allerdings, wenn ich dies ausführen, verstopft es das gesamte Programm und schaltet nicht mehr reagiert, wenn ich versuche, etwas zu tun.
Gibt es das trotzdem, aber muss es im Hintergrund laufen oder zumindest nicht das Programm zum Absturz bringen?
Was ich vorher tat war mit VBScript, um eine nicht sichtbare Tabelle zu öffnen und das VBScript lief kontinuierlich im Hintergrund die Bedingung und funktionierte gut, aber mein Client möchte wirklich eine GUI und dafür im Programm selbst sein .
Irgendwelche Gedanken?
Wenn Sie den Wert einer Zelle überwachen müssen, müssen Sie nicht ständig einen Code ausführen, sondern das Änderungsereignis des Arbeitsblatts verwenden. –
@ MátéJuhász Ich glaube nicht, dass sich der Wert von alleine ändern wird. Es muss dazu aufgefordert werden. Ich aktualisiere den Beispielcode. Kann ich das Änderungsereignis des Arbeitsblatts weiterhin verwenden? –
Werfen Sie einen Blick hier: http://www.mrexcel.com/forum/excel-questions/79144-automatical-update-time-date.html, könnte es für Sie nützlich sein. –