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

Countdown in selbst löschende Datei einbauen

Forumthread: Countdown in selbst löschende Datei einbauen

Countdown in selbst löschende Datei einbauen
03.01.2020 19:05:19
bassi
Hallo miteinander,
ich habe eine Testdatei angefügt. Diese Datei löscht sich bei nicht benutzen und Ablauf des Timers (zum basteln auf 10Std eingestellt) von selbst (Code ist aus dem Netz).
Wie kann man nun die eingesetzte UF am besten mit einem runter zählendem Countdown als optionalen Stopp des selbst löschen einbauen?
Quasi so:
UF vom User geschlossen = Datei bleibt offen.
UF schließt sich nach Ablauf des Countdown selbst = Datei wird geschlossen und gelöscht.
https://www.herber.de/bbs/user/134123.xlsm
Vielen Dank im Voraus.
Liebe Grüße
bassi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Countdown in selbst löschende Datei einbauen
03.01.2020 19:43:25
bassi
Hallo Hajo,
vielen Dank für deine Datei.
Leider bin ich wohl nicht fit genug für den Ansatz.
Mir fehlt es sozusagen schon am "Übergang".
Nach Datei Timer Ende bekomme ich ja die UF vielleicht noch mit "Userform2.show" auf. Aber damit enden meine Fähigkeiten auch...
Der Countdowncode in deiner Datei erfordert hierzu noch eine Zeiteingabe in einer Box welche dann die UF mit dem Countdown öffnet.
Leider lässt sich die UF selbst nicht anschauen, da sie sich ständig schließt.
Ich bin quasi etwas hilflos an dieser Stelle.
Mir fehlen im Grunde ein Code und zwei Übergänge.
# Der Code vom Countdown für die UF2 und wie starte ich diesen.
# Der Übergang nach Countdown Ende zum Killcode (Datei schließen/löschen).
# Der Übergang nach Klick Button auf der UF2 - Schließen der UF2 und Neustart des Datei Timers.
Viele Grüße
bassi
Anzeige
AW: Countdown in selbst löschende Datei einbauen
04.01.2020 07:22:06
Luschi
Hallo bassi,
dann beende doch die Raterunde und stelle eine Demodatei ins Forum rein.
Gruß von Luschi
aus klein-Paris
AW: Countdown in selbst löschende Datei einbauen
04.01.2020 08:43:21
volti
Hallo Bassi,
mit z.B. folgendem Code könntest Du einen Countdown realisieren: (Bitte die anliegende Mappe verwenden, da auch Code in Userform nötig ist)
Ein echter Inaktivitätscheck sollte m.E. aber nicht nur Selektionsänderungen an der Arbeitsmappe berücksichtigen, sondern Maus und Keyboardaktivitäten.
Das habe ich Dir mal in die anliegende Mappe eingebaut. Hier wird über den Timer gearbeitet. Mittels Maus/Tastatur wird der Countdown dann immer wieder verlängert....
https://www.herber.de/bbs/user/134129.xlsm
Bitte im WorkbooksOpen das Rem rausnehmen, das ich da aus Sicherheitsgründen drin hab.
Probiere es einfach mal aus. Vielleicht hilft es Dir ja weiter.
Sub MappeSchliessen()
  Dim i As Integer
  With UserForm2
   .Show vbModeless
   For i = 10 To 1 Step -1
    .Countdown.Caption = "Noch " & CStr(i) & " Sek."
    DoEvents
    Sleep 1000
    If bAbbruch = True Then Exit Sub
   Next i
  End With
  Unload UserForm2
dblZeit = Empty
With ThisWorkbook
.Saved = True
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
End Sub

viele Grüße
Karl-Heinz

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Countdown in selbst löschende Datei einbauen


Schritt-für-Schritt-Anleitung

Um einen Countdown in eine selbst löschende Excel-Datei einzubauen, folge diesen Schritten:

  1. Datei vorbereiten: Stelle sicher, dass Du eine Excel-Datei hast, in der Du den Countdown einbauen möchtest. Du kannst die bereitgestellten Links im Forum verwenden, um Beispiele zu erhalten.

  2. UserForm erstellen: Öffne den VBA-Editor (Alt + F11) und füge eine neue UserForm hinzu. Diese dient als Benutzeroberfläche für den Countdown.

  3. Countdown-Code einfügen: Verwende den folgenden VBA-Code in der UserForm, um einen einfachen Countdown zu erstellen:

    Sub MappeSchliessen()
        Dim i As Integer
        With UserForm2
            .Show vbModeless
            For i = 10 To 1 Step -1
                .Countdown.Caption = "Noch " & CStr(i) & " Sek."
                DoEvents
                Sleep 1000
            Next i
        End With
        Unload UserForm2
        With ThisWorkbook
            .Saved = True
            .ChangeFileAccess xlReadOnly
            Kill .FullName
            .Close False
        End With
    End Sub
  4. Timer aktivieren: Füge einen Timer hinzu, um die UserForm nach einer festgelegten Zeit zu schließen und die Datei zu löschen.

  5. Testen: Speichere die Datei und teste den Countdown, indem Du die UserForm öffnest und den Ablauf des Timers beobachtest.


Häufige Fehler und Lösungen

  • Fehler: UserForm schließt sich sofort: Stelle sicher, dass der Timer korrekt eingestellt ist und keine Abbruchbedingungen vorliegen, die die UserForm schließen könnten.

  • Lösung: Abbruchkriterium anpassen: Überprüfe den Code und entferne oder passe das If bAbbruch = True Kriterium an, wenn Du keine Abbrüche möchtest.


Alternative Methoden

Eine weitere Möglichkeit, einen Excel Countdown zu erstellen, besteht darin, die Funktion Application.OnTime zu verwenden. Diese Methode ermöglicht es, bestimmte Aktionen zu einer festgelegten Zeit durchzuführen, ohne eine UserForm zu verwenden.

Hier ein einfaches Beispiel:

Sub StartCountdown()
    Application.OnTime Now + TimeValue("00:01:00"), "MeineFunktion"
End Sub

Sub MeineFunktion()
    MsgBox "Countdown abgelaufen!"
End Sub

Praktische Beispiele

  • Weihnachts-Countdown mit Excel: Du kannst auch einen Weihnachts-Countdown erstellen, indem Du das aktuelle Datum mit dem 24. Dezember vergleichst und die verbleibenden Tage berechnest. Füge eine Formel in eine Zelle ein:

    =DATEDIF(HEUTE(); DATUM(JAHR(HEUTE()); 12; 24); "D")
  • Countdown für Projektfristen: Verwende die oben genannten Methoden, um Fristen für Projekte zu überwachen, indem Du die verbleibende Zeit bis zum Abschluss in einer UserForm anzeigst.


Tipps für Profis

  • Benutzerfreundlichkeit erhöhen: Gestalte die UserForm ansprechend mit verschiedenen Farben und Schaltflächen, um die Interaktivität zu verbessern.

  • Ereignisse nutzen: Verwende Ereignisse wie Workbook_BeforeClose, um sicherzustellen, dass der Countdown auch beim Schließen der Datei aktiv bleibt.

  • Dokumentation: Halte Deine Codes gut dokumentiert, damit Du oder andere Benutzer später die Logik hinter den Countdown-Funktionen leicht nachvollziehen können.


FAQ: Häufige Fragen

1. Wie kann ich den Timer anpassen?
Du kannst die Zeit im For-Schleifen-Code ändern, um die Countdown-Dauer zu verlängern oder zu verkürzen.

2. Kann ich den Countdown auch ohne VBA erstellen?
Einfache Countdown-Funktionen sind in Excel nicht direkt möglich, aber Du kannst Berechnungen mit Formeln nutzen, um die verbleibende Zeit bis zu einem bestimmten Datum anzuzeigen.

3. Wie kann ich sicherstellen, dass die Datei immer gelöscht wird?
Die Datei wird nur gelöscht, wenn die entsprechenden Bedingungen im VBA-Code erfüllt sind. Stelle sicher, dass der Code zum Löschen korrekt implementiert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige