Countdown zum Renteneintritt

.. das wohl mächtigste Werkzeug in Bill Gates' Büro-Sippe. Ob reine Formeln, PowerQuery oder VBA. Hier bleiben kaum Wünsche unerfüllt.
Paul1206
Beiträge: 11
Registriert: 29. Aug 2022, 20:22
Hat sich bedankt: 2 Mal
Danksagung erhalten: 10 Mal

Countdown zum Renteneintritt

#1

Beitrag von Paul1206 »

Hallo Miteinander,

gestern beim Grillen kam die Idee für meinem Nachbar etwas zusammenzustellen, um die noch verbleibenden Tage, Stunden etc. anzeigen zu lassen.
Das ist nun das Ergebnis zu diesem Problem. Es ist eher als lustige Möglichkeit zu betrachten, was sich so alles mit VBA in Excel anstellen lässt.

Gruß Uwe
Dateianhänge
Renten Countdown.xlsm
(31.77 KiB) Noch nie heruntergeladen
Folgende Benutzer bedankten sich beim Autor Paul1206 für den Beitrag (Insgesamt 2):
d'r Bastler, thowe
Benutzeravatar
thowe
Beiträge: 209
Registriert: 12. Sep 2022, 16:57
Hat sich bedankt: 79 Mal
Danksagung erhalten: 67 Mal
Kontaktdaten:

Re: Countdown zum Renteneintritt

#2

Beitrag von thowe »

Hallo Paul,

danke für diese nette Spielerei...
Ob ich verzückt bin bei den Tausenden Tage, die mir dein Tool so anzeigt... ? :mrgreen:

Ich bin noch nicht dazugekommen, den code zu lesen, aber ich bin davon überzeugt, einiges für mich mitnehmen zu können, lg
Paul1206
Beiträge: 11
Registriert: 29. Aug 2022, 20:22
Hat sich bedankt: 2 Mal
Danksagung erhalten: 10 Mal

Re: Countdown zum Renteneintritt

#3

Beitrag von Paul1206 »

Hallo thowe,

naja ist eigentlich Allerweltscode verbunden mit ein bisschen Datums- und Zeitrechnerei.

Gruß Uwe
Benutzeravatar
d'r Bastler
Beiträge: 683
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 177 Mal
Danksagung erhalten: 91 Mal

Re: Countdown zum Renteneintritt

#4

Beitrag von d'r Bastler »

Moin Uwe, moin towe,

was für Folgen so eine Grillparty doch haben kann ... :mrgreen:

Ich habe auch ein wenig gebastelt und biete folgende Spielerei an: Ein Mini-Code in einem Sheet ...

Code: Alles auswählen

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True

If IsDate(Target) Then
    If isRunning = False Then
        StartCountDown
    Else
        isRunning = False
    End If
End If

End Sub
... und ein bisschen mehr in einem Modul:

Code: Alles auswählen

Option Explicit
Public isRunning As Boolean

Sub StartCountDown()
Dim dEnd As Date, dNow As Date, iDays As Integer, sHours As String, sMins As String, sSecs As String
Dim sgShow As Single, sgDelay As Single

isRunning = True

On Error Resume Next
dEnd = ActiveCell

dNow = Now()
Do Until dNow >= dEnd
sgDelay = 0.1 '= 1 sekunde
sgShow = Timer + sgDelay
    Do While Timer < sgShow
    DoEvents
        If isRunning = False Then
            Application.StatusBar = False
            Exit Sub
        End If
        iDays = DateDiff("d", dNow, dEnd) - 1
        sHours = 24 - Hour(Now) - 1
            If sHours < 10 Then
            sHours = "0" & sHours
        End If
        
        sMins = 60 - Minute(Now) - 1
        If sMins < 10 Then
            sMins = "0" & sMins
        End If
        sSecs = 60 - Second(Now) - 1
        
        If sSecs < 10 Then
            sSecs = "0" & sSecs
        End If
    Application.StatusBar = _
        "Bis zum " & dEnd & " sind es: " & iDays & " Tage & " & sHours & " : " & sMins & " : " & sSecs & " Carpe Diem"
   Loop
Loop

End Sub
... und schon kann man durch Doppelklick auf ein beliebiges Datum im Sheet einen CountDown auslösen, der sich dann dezent in der Statuszeile zeigt. Ein Doppelklick auf ein anderes Datum stoppt erst den laufenden und wartet dann auf den nächsten Auftrag.

Eben getestet: Läuft auch auf MacOS!

Aus dieser Spielerei ließ sich auch leicht eine Eieruhr basteln :P

Grüße und ich hätte mein Steak bitte medium-rare 8-)
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
Benutzeravatar
d'r Bastler
Beiträge: 683
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 177 Mal
Danksagung erhalten: 91 Mal

Re: Countdown zum Renteneintritt

#5

Beitrag von d'r Bastler »

Moin allerseits,

kleine Ergänzung zu oben:
während der CountDown läuft lässt sich der VBA-Code nicht bearbeiten. Aber ein Aufruf anderer Makros klappt durchaus. Getestet mit (ins Modul)

Code: Alles auswählen

Sub test()
Dim i As Integer
    i = WorksheetFunction.CountA(ActiveSheet.UsedRange)
    MsgBox i
End Sub
... und ein bisschen Salat bitte ;)
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste