Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Countdown in einer Form

Forumthread: Countdown in einer Form

Countdown in einer Form
09.07.2025 21:35:48
Soham235
Hi Leute,

gibt es eine Möglichkeit, in einer Form, zum Beispiel in einem Kreis im Vordergrund, einen 10 Sekunden-Countdown ablaufen zu lassen? Im Kreis sollten idealerweise nur die Sekunden zu sehen sein, die dann runterzählen. Wenn ich dabei noch Schriftgröße, Farbe und Schriftart bestimmen könnte, wäre es perfekt.

Grüße
Alex
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Countdown in einer Form
09.07.2025 21:44:54
{Boris}
Hi,

klar geht das - aber wofür? Für Anwender gibt es (nach Laufschrift) nichts Nervigeres.
Sag mal ein bisschen was zum Hintergrund.

VG, Boris
AW: Countdown in einer Form
09.07.2025 22:13:00
daniel
Hi

du kannst dir eine beliebige Form einfügen und diese nach deinen Wünschen formatieren (Schriftart und so)

die Texte für den Countdown fügst du dann mit diesem Code ein, einfach das Start-Makro ausführen:

Sub CountDown_Start()

Dim i As Long
Const x As Long = 10
For i = 0 To x
Application.OnTime Now + TimeSerial(0, 0, 1 + i), "'CountDown_Schreiben """ & x - i & """'"
Next

End Sub

Sub CountDown_Schreiben(wert As String)
ActiveSheet.Shapes(1).TextFrame2.TextRange.Characters.Text = wert
End Sub


prinzipiell kannst du, während der Code läuft, mit Excel weiter arbeiten, du solltest aber nicht die Zellbearbeitung starten, denn während dieser kann Excel die Makros nicht ausführen.

Gruß Daniel
Anzeige
AW: Countdown in einer Form
10.07.2025 14:17:43
schauan
Hallöchen,

wenn Du das außerhalb von Excel anlegst, kannst Du in Excel machen was Du willst ;-) Den code z.B. als CountDown.vbs speichern und in Excel aufrufen.
Mit top und left musst Du schauen,

Makro:
Sub CountDown()

Const strPath$ = "C:\Test\CountDown.vbs"
Dim strShell$
strShell = "wscript.exe """ & strPath & """"
Shell strShell, vbNormalFocus
End Sub


CountDown.vbs:
Set oIE = CreateObject("InternetExplorer.Application")


With oIE
.navigate("about:blank")
.Document.Title = "Countdown" & string(100, chrb(160))
.resizable=0
.height=200
.width=100
.top = 150
.left = 350
.menubar=0
.toolbar=0
.statusBar=0
.visible=1
End With

Do while oIE.Busy
wscript.sleep 500
Loop

oIE.document.body.innerHTML = "
"

for i=10 to 0 step -1
oIE.document.all.countdown.innerText= i
wscript.sleep 1000
next
oIE.quit


Mal etwas abgewandelt mit Positon und Zeit als Arumente und nervig im Vordergrund :-)

Makro:
Sub CountDownArgs()

Const strPath$ = "C:\Test\CountDown2.vbs"
Dim strShell$, strArg1$, strArg2$, strArg3$
'Top, Left und Zeit fuer Counter
'Reihenfolge ergibt sich aus Reihenfolge im Script!
strArg1 = 300: strArg2 = 500: strArg3 = 5
strShell = "wscript.exe """ & strPath & """ """ & strArg1 & """ """ & strArg2 & """ """ & strArg3 & """"
Shell strShell, vbNormalFocus
End Sub


CountDown2.vbs
Set oIE = CreateObject("InternetExplorer.Application")


Dim strTop, strLeft, strTime
strTop = WScript.Arguments(0)
strLeft = WScript.Arguments(1)
strTime = WScript.Arguments(2)

With oIE
.navigate("about:blank")
.Document.Title = "Countdown" & string(100, chrb(160))
.resizable=0
.height=200
.width=100
.top = strTop
.left = strLeft
.menubar=0
.toolbar=0
.statusBar=0
.visible=0
.visible=1
End With

Do while oIE.Busy
wscript.sleep 500
Loop

oIE.document.body.innerHTML = "
"

for i=strTime to 0 step -1
With oIE
.document.all.countdown.innerText= i
.visible=0
.visible=1
wscript.sleep 1000
End With
next
oIE.quit

Anzeige
AW: Countdown in einer Form
10.07.2025 08:43:49
schauan
Hallöchen,

google doch einfach mal nach vba analoguhr
Da ist vielleicht was dabei, was man abwandeln kann
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18