HERBERS Excel-Forum - das Archiv
Zeitschleife in VBA!!
Grevi

Hey Excel-Freunde!
Ich habe mal ne Frage! Kann ich eine MsgBox mit einem Zeitbefehl versehen?
Das heißt:
Ich mache eine MsgBox in der z.B. steht
MsgBox "Druckbefehl starten"
Nun möchte ich aber nicht immer auf "Ok" klicken,weil es dann zuviele Klicks wären, sondern ihc möchte, dass der Button sich nach z.B. 5 s selber anklickt!
Hat da irgend jemand nen vorschlag?
MfG Grevi
AW: Zeitschleife in VBA!!
Grevi

Ich bins nochmal!
Gibt es auch irgendwie nen Befehl den ich in VBA einbauen kann, das der an einer bestimmten Stelle, wo ich den Befehl setze dann solange wartet bis er weiter macht, wie ich dier Zeit eingestellt habe!
Irgendnen Befehl mit WAIT oder sowas! KA
MfG Grevi
AW: Application.Wait
Martin

Hallo Grevi,
aus der VBA-Hilfe:
***********************************
Wait-Methode
Siehe auch Betrifft Beispiele Zusatzinfo
Hält das aktuell ausgeführte Makro bis zu einem angegebenen Zeitpunkt an. Gibt zum angegebenen Zeitpunkt True zurück.
Wichtig: Die Wait-Methode unterbricht alle Aktivitäten von Microsoft Excel und verhindert unter Umständen auch das Ausführen sonstiger Vorgänge auf dem Computer. Hintergrundprozesse, wie Drucken und Neuberechnung, werden jedoch fortgesetzt.
Ausdruck.Wait(Time)
Ausdruck Erforderlich. Ein Ausdruck, der ein Application-Objekt zurückgibt.
Time Variant erforderlich. Der Zeitpunkt, zu dem das Makro fortgesetzt werden soll (im Datumsformat von Microsoft Excel).
Beispiel
In diesem Beispiel wird ein aktuell ausgeführtes Makro bis 18.23 Uhr desselben Tages unterbrochen.
Application.Wait "18:23:00"
In diesem Beispiel wird ein aktuell ausgeführtes Makro für ungefähr 10 Sekunden unterbrochen.
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 10
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
In diesem Beispiel wird eine Meldung angezeigt, dass 10 Sekunden abgelaufen sind.
If Application.Wait(Now + TimeValue("0:00:10")) Then
MsgBox "Time expired"
End If
******************************
Das kann man auch selbst rausfinden.
Gruß
Martin Beck
AW: Zeitschleife in VBA!!
Hajo_Zi

Hallo Grevi,
Option Explicit

Sub MsgBox3Sekunden()
'   Blendet eine Msgbox nach 3 Sekunden automatisch wieder aus
' von Franz W Herber.de
' Verweis auf Microsoft Scripting Runtime
Dim WsShell
Dim intText As Integer
Set WsShell = CreateObject("WScript.Shell")
intText = WsShell.Popup("Diese Meldung wird nach 3 Sekunden geschlossen.", 3, "Automatisch...")
' Die 3 in der letzten Zeile gibt die Dauer der Öffnung an.
End Sub


Sub MsgZeit()
'   Blendet eine Msgbox nach 3 Sekunden automatisch wieder aus
'   von K.Rola
'   kein Verweis notwendig
Const bytZeit As Byte = 3
Dim objWSH As Object, intMSG As Integer
Set objWSH = CreateObject("WScript.Shell")
intMSG = objWSH.Popup("Ich bin in " & bytZeit & " Sekunden verschwunden!" & Space(10), bytZeit, "gebe bekannt...")
Set objWSH = Nothing
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


AW: Zeitschleife in VBA!!
Grevi

HI!!!
Danke für deine Antwort! Kann ich nicht auch einfach schreiben:
MsgBox5Sekunden
oder muss das Sub MsgBox3Sekunden() so geschrieben werden!
Gruß Grevi
AW: Zeitschleife in VBA!!
Hajo_Zi

Hallo Grevi,
bei VBA gut muß ich die Frage doch nicht beantworten?
Namen sind doch Schall und Rauch.
Gruß Hajo
AW: Zeitschleife in VBA!!
Grevi

Oh Sorry! Habe ich gar nicht gesehen das ich das angeklickt habe! Wollte eigentlich wie immer Excel gut / VBA nein!
Tut mir leid! Wäre trotzdem nett wenn du mir meine Frage beantworten könntest!
Grevi
AW: Zeitschleife in VBA!!
Hajo_Zi

Hallo
ich war eigentlich der Auffasung das ich das Beantwortet habe.
Du Kannst es nennen wie Du willst z.B. "Der_Mond_ist_rot" oder wie auch immer.
Gruß Hajo
AW: Zeitschleife in VBA!!
Grevi

Hallo noch mal!
Ich glaube du hast eine meiner Antworten nicht gesehen! Ich fragte auch noch, ob ich das mit:
Sub ....() machen muss, dann kann ich die variante von dir nehmen! Ich will das aber in einen shon vorhandenen Code einbringen! Also ist meine Frage, ob ich auch einfach:
MsgBox "Befehl ausführen" schreiben kann und das die MsgBx sich dann trotzdem nach einer Zeit schließt!!!
Grevi
AW: Zeitschleife in VBA!!
Hajo_Zi

Hallo Grevi,
alle Zeilen im Code sind für einen Zweck da. Di wurden nicht dahin geschrieben weil jemand Zeit hatte und noch was machen wollte. Falls Du das in Deine Sub einbauen willst lasse von dem Code für den Du dich enschieden hast die erste und letzte Zeile fort.
Gruß Hajo
AW: Zeitschleife in VBA!!
Grevi

Achso! Jo danke jetz läuft das auch!
Danke für deinen Tipp
MfG Grevi
Zeitschleife in VBA!!
Grevi

Hey Excel-Freunde!
Ich habe mal ne Frage! Kann ich eine MsgBox mit einem Zeitbefehl versehen?
Das heißt:
Ich mache eine MsgBox in der z.B. steht
MsgBox "Druckbefehl starten"
Nun möchte ich aber nicht immer auf "Ok" klicken,weil es dann zuviele Klicks wären, sondern ihc möchte, dass der Button sich nach z.B. 5 s selber anklickt!
Hat da irgend jemand nen vorschlag?
MfG Grevi
AW: Zeitschleife in VBA!!
Grevi

Ich bins nochmal!
Gibt es auch irgendwie nen Befehl den ich in VBA einbauen kann, das der an einer bestimmten Stelle, wo ich den Befehl setze dann solange wartet bis er weiter macht, wie ich dier Zeit eingestellt habe!
Irgendnen Befehl mit WAIT oder sowas! KA
MfG Grevi
AW: Application.Wait
Martin

Hallo Grevi,
aus der VBA-Hilfe:
***********************************
Wait-Methode
Siehe auch Betrifft Beispiele Zusatzinfo
Hält das aktuell ausgeführte Makro bis zu einem angegebenen Zeitpunkt an. Gibt zum angegebenen Zeitpunkt True zurück.
Wichtig: Die Wait-Methode unterbricht alle Aktivitäten von Microsoft Excel und verhindert unter Umständen auch das Ausführen sonstiger Vorgänge auf dem Computer. Hintergrundprozesse, wie Drucken und Neuberechnung, werden jedoch fortgesetzt.
Ausdruck.Wait(Time)
Ausdruck Erforderlich. Ein Ausdruck, der ein Application-Objekt zurückgibt.
Time Variant erforderlich. Der Zeitpunkt, zu dem das Makro fortgesetzt werden soll (im Datumsformat von Microsoft Excel).
Beispiel
In diesem Beispiel wird ein aktuell ausgeführtes Makro bis 18.23 Uhr desselben Tages unterbrochen.
Application.Wait "18:23:00"
In diesem Beispiel wird ein aktuell ausgeführtes Makro für ungefähr 10 Sekunden unterbrochen.
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 10
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
In diesem Beispiel wird eine Meldung angezeigt, dass 10 Sekunden abgelaufen sind.
If Application.Wait(Now + TimeValue("0:00:10")) Then
MsgBox "Time expired"
End If
******************************
Das kann man auch selbst rausfinden.
Gruß
Martin Beck
AW: Zeitschleife in VBA!!
Hajo_Zi

Hallo Grevi,
Option Explicit

Sub MsgBox3Sekunden()
'   Blendet eine Msgbox nach 3 Sekunden automatisch wieder aus
' von Franz W Herber.de
' Verweis auf Microsoft Scripting Runtime
Dim WsShell
Dim intText As Integer
Set WsShell = CreateObject("WScript.Shell")
intText = WsShell.Popup("Diese Meldung wird nach 3 Sekunden geschlossen.", 3, "Automatisch...")
' Die 3 in der letzten Zeile gibt die Dauer der Öffnung an.
End Sub


Sub MsgZeit()
'   Blendet eine Msgbox nach 3 Sekunden automatisch wieder aus
'   von K.Rola
'   kein Verweis notwendig
Const bytZeit As Byte = 3
Dim objWSH As Object, intMSG As Integer
Set objWSH = CreateObject("WScript.Shell")
intMSG = objWSH.Popup("Ich bin in " & bytZeit & " Sekunden verschwunden!" & Space(10), bytZeit, "gebe bekannt...")
Set objWSH = Nothing
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


AW: Zeitschleife in VBA!!
Grevi

HI!!!
Danke für deine Antwort! Kann ich nicht auch einfach schreiben:
MsgBox5Sekunden
oder muss das Sub MsgBox3Sekunden() so geschrieben werden!
Gruß Grevi
AW: Zeitschleife in VBA!!
Hajo_Zi

Hallo Grevi,
bei VBA gut muß ich die Frage doch nicht beantworten?
Namen sind doch Schall und Rauch.
Gruß Hajo
AW: Zeitschleife in VBA!!
Grevi

Oh Sorry! Habe ich gar nicht gesehen das ich das angeklickt habe! Wollte eigentlich wie immer Excel gut / VBA nein!
Tut mir leid! Wäre trotzdem nett wenn du mir meine Frage beantworten könntest!
Grevi
AW: Zeitschleife in VBA!!
Hajo_Zi

Hallo
ich war eigentlich der Auffasung das ich das Beantwortet habe.
Du Kannst es nennen wie Du willst z.B. "Der_Mond_ist_rot" oder wie auch immer.
Gruß Hajo
AW: Zeitschleife in VBA!!
Grevi

Hallo noch mal!
Ich glaube du hast eine meiner Antworten nicht gesehen! Ich fragte auch noch, ob ich das mit:
Sub ....() machen muss, dann kann ich die variante von dir nehmen! Ich will das aber in einen shon vorhandenen Code einbringen! Also ist meine Frage, ob ich auch einfach:
MsgBox "Befehl ausführen" schreiben kann und das die MsgBx sich dann trotzdem nach einer Zeit schließt!!!
Grevi
AW: Zeitschleife in VBA!!
Hajo_Zi

Hallo Grevi,
alle Zeilen im Code sind für einen Zweck da. Di wurden nicht dahin geschrieben weil jemand Zeit hatte und noch was machen wollte. Falls Du das in Deine Sub einbauen willst lasse von dem Code für den Du dich enschieden hast die erste und letzte Zeile fort.
Gruß Hajo
AW: Zeitschleife in VBA!!
Grevi

Achso! Jo danke jetz läuft das auch!
Danke für deinen Tipp
MfG Grevi
Bewerten Sie hier bitte das Excel-Portal