Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1076to1080
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MsgBox mit Counter

MsgBox mit Counter
03.06.2009 20:16:28
Lenni
https://www.herber.de/forum/archiv/904to908/t907588.htm
Moin Excellianer!!
Kann man - mit möglichst einfachen Mitteln - eine MsgBox mit einem Sekunden-Counter erstellen? ...also die Vorgabe variabel in Sekunden im VBA-Text hinterlegen (z.B. 120 Sekunden) und die MsgBox zählt mir diese 120 Sekunden zur 0 (Null) runter?!
Wenn 0 erreicht ist, soll meine Datei geschlossen werden.
---------------------------------
Im Archiv habe ich etwas mit einem UserForm gefunden (http://hajo-excel.de/chCounter3/getfile.php?id=178) und ich finde diese Lösung auch sehr gut, aber der Code ist so umfangreich, dass er mit anderen Strukturen in meiner Mappe kollediert. Deshalb schreibe ich oben auch "mit möglichst einfachen Mitteln" und eigentlich möchte ich eine MsgBox für diese Funktion haben.
Vielen Dank für Eure Hilfe!
Viele Grüße aus dem hohen Norden!
Lenni

PS ...kann es sein, dass das Forum noch nicht "allzu rund läuft"?! Ich habe die Schwierigkeiten in den letzten Tagen mitbekommen und nun schmeißt mich das Forum bei Klick auf "Editieren" nach der "Vorschau" immer aus meinen Beitrag raus... ...oder ist hier eine "Ärger-den-Lenni-Funktion" eingebaut... ;-))

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox mit Counter
03.06.2009 20:24:21
Uduuh
Hallo,
das geht nicht. Während eine MsgBox angezeigt wird, stoppt der Code.
Gruß aus’m Pott
Udo

AW: MsgBox mit Counter
03.06.2009 20:29:07
Lenni
Danke Udo!! ...und schade das es nicht geht.
Dann müßte ich das wohl doch mit einem UserForm machen... ...aber das oben bereits erwähnte Beispiel wäre zu Umfangreich.
Weiß denn jemand eine möglichst einfache Variante? Danke!
Gruß
Lenni

AW: MsgBox mit Counter
03.06.2009 20:41:45
Matthias
Hallo Lenni
Vielleicht hilft das ja

Option Explicit
Sub MsgBox_n_Sekunden()
Dim WsShell
Dim intText As Integer, x As Long
Set WsShell = CreateObject("WScript.Shell")
intText = WsShell.Popup("Datei wird nach 120 Sekunden geschlossen,", 120, "Automatisch...")
Thisworkbook.Close
End Sub


Quelle:
https://www.herber.de/forum/archiv/352to356/t353552.htm#353559
Vielleicht vor .Close noch
ThisWorkbook.Saved = True einbauen.
Das simmuliert, das es keine Änderung im Sheet gab.
Gruß Matthias

Anzeige
x as Long war ein Überbleibsel. Weg damit ... owT
03.06.2009 20:44:21
Matthias
AW: x as Long war ein Überbleibsel. Weg damit ... owT
03.06.2009 20:50:01
LukiLeu
Das sähe dann etwa so aus. Die MsgBox wird einfach nach einer Sekunde geschlossen und danach die nächste geöffnet.

Sub Z()
Dim WsShell
Dim i
Dim intText As Integer
Dim Zeit
Zeit = 120 'Zeit festlegen in Sekunden
Set WsShell = CreateObject("WScript.Shell")
For i = 0 To Zeit
intText = WsShell.Popup("Noch " & Zeit - i & " Sekunden", 1, "Zeit")
Next i
ThisWorkbook.Close
End Sub


AW: x as Long war ein Überbleibsel. Weg damit ... owT
03.06.2009 20:53:42
LukiLeu
Das sähe dann etwa so aus. Die MsgBox wird einfach nach einer Sekunde geschlossen und danach die nächste geöffnet.

Sub Z()
Dim WsShell
Dim i
Dim intText As Integer
Dim Zeit
Zeit = 120 'Zeit festlegen in Sekunden
Set WsShell = CreateObject("WScript.Shell")
For i = 0 To Zeit
intText = WsShell.Popup("Noch " & Zeit - i & " Sekunden", 1, "Zeit")
Next i
ThisWorkbook.Close
End Sub


Anzeige
flackert ganz schön,wäre aber :) ne Alternative oT
03.06.2009 20:58:55
Matthias
"Viele Wege führen nach Rom"...
03.06.2009 21:14:32
Lenni
...und wieder mal reibe ich mir die Augen: Mit was für unglaublichen Ideen man hier im Forum zu Zielen kommt!
Super Idee, LukiLeu ...aber leider läuft die Zeit bei mir nicht gleichmäßig runter. Ich vermute mal, dass Dein Vorschlag möglichst freie Systemressourcen benötigt... ...und jede Sekunde weniger wird mit einem VBA-Ton quittiert...
Trotzdem: Die Idee ist Klasse!
Gruß
Lenni

;o)
03.06.2009 21:27:23
Matthias
Anscheinend ist heute die
große "Erfreue-den-Lenni-Funktion" eingebaut... ;-))


;o)


Gruß Matthias
AW: ;o) ...ähhhh...
03.06.2009 21:39:57
Lenni
Ich mach's kurz: Ich schmunzel nicht nur, ich lache mich schlapp!! ...kann man ja auch brauchen, nachdem mich die Forums-Technik so geärgert hat! :-)))
Machs Gut! "Alter Ulker"! ;-)
Gruß
Lenni

Anzeige
...geht auch! Danke Matthias!
03.06.2009 20:56:55
Lenni
Jooo! Danke Matthias! ...das wäre eine "kleinere" Variante ohne visuellen Counter, die aber funktioniert!
Vielen Dank!!
Gruß
Lenni

neue Variante mit UserForm1.Repaint ;o)
03.06.2009 21:21:23
Matthias
Hallo Lenni
Da ist mir doch noch was eingefallen.

Private Sub UserForm_Activate()
Dim x As Long
For x = 120 To 1 Step -1
Label1.Caption = x
UserForm1.Repaint
Application.Wait Now + TimeSerial(0, 0, 1)
Next
ThisWorkbook.Close
End Sub




https://www.herber.de/bbs/user/62203.xls


Gruß Matthias
Anzeige
AW: neue Variante mit UserForm1.Repaint ;o)
03.06.2009 21:36:31
Lenni
Danke Matthias!! ...dass klappt in einer kurz erstellten Einzeldatei!
Ich melde mich morgen Nachmittag noch mal! ...ob ich es in meine Haupt-Datei problemlos "einbauen" kann. Ich möchte auch noch Josefs Vorschlag testen.
Danke nochmals!
Gruß
Lenni

Danke Matthias!!
04.06.2009 17:45:18
Lenni
Hallo nochmal Matthias!
Also erst mal: Nochmals herzlichen Dank! Dein Vorschlag funktioniert!!
Aber sei mir bitte nicht böse, ich habe zu Josefs Vorschlag weiter unten "gegriffen", da in diesem die Möglichkeit des "Abbruchs" besteht!
Das heißt aber nicht, dass Dein Vorschlag nicht gut ist: Er ist Klasse, da er durch seine "Kürze" verblüfft!! ...und deshalb wandert er in mein Archiv!! Den werde ich mit Sicherheit noch mal brauchen können!!
Danke nochmals Matthias!!
Gruß
Lenni

Anzeige
Hallo Lenni ...
04.06.2009 18:57:59
Matthias
Hallo Lenni
"Sei mir nicht böse ... " Ist doch Quatsch, für so etwas braucht man sich doch nicht entschuldigen.
Ist doch "Wurscht", welchen Code Du benutzt. Hauptsache es hilft Dir :o)
Gruß Matthias
O.K.!! Trotzdem: DANKE!! oT
04.06.2009 19:12:49
Lenni
AW: MsgBox mit Counter
03.06.2009 21:27:42
Lenni
Moin Josef!!
Schön das Du hier mit dabei bist!! DANKE!! ...und Dein Vorschlag sieht sehr vielversprechend aus! Dein Code ist ja nicht so umfangreich wie ich es "andersbezüglich" oben schon erwähnt habe. Und so hoffe ich, dass sich nichts mit meiner Hauptdatei "beißt"!!
Leider ist die Zeit schon fortgeschritten und ich muss erst mal ins Bett (muss morgen wieder früh raus!).
Ich komme morgen Nachmittag zum ausgiebigen Testen und ich werde Dir auf alle Fälle dann noch eine Rückmeldung hier ins Forum stellen!! Vielen Dank Josef!!
Gruß
Lenni

Anzeige
Danke Josef!!
04.06.2009 17:52:39
Lenni
Hallo nochmals Josef!!
Dein Vorschlag läuft in meiner Hauptdatei problemlos!! ...und ich habe ihn übernommen!!
Du hast sicherlich Matthias seinen Vorschlag weiter oben mitbekommen, der hat mir auch sehr gefallen wegen seiner Kürze. Deiner ist ja nun umfangreicher, aber er bietet die Möglichkeit den Countdown abzubrechen! Das war mir auch wichtig!
Vielen Dank nochmals, Josef!!
Gruß
Lenni

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige