Supportnet / Forum / Tabellenkalkulation
wie stoppe ich mein Makro
Frage
ich habe ein Countdon in Excel,
erstens sollte der automatisch anfangen wenn die Datei geöffnet wird,
nur hierzu muss ich ein Commando eingeben im VBA.
sprich strg+G und dort das Commando eingeben und mit Enter bestätigen, ungefähr in diese Richtung nur wie lautet der genau efehl:
" ?application.worknoos.open" ?
hier mein Code (siehe unten) für den Countdown, der funktioniert wuderbar.
ich habe noch ein Button gemacht damit man den Countdown selber starten kann.
Nun möchte ich auch ein Button basteln damit ich den Countdown stoppen kann, bzw. den automatichen countdown all 5Sekunden stoppen kann,
wie muss der ode hierfür lauten, ich stehe da total auf dem Schlauch und hab einiges probiert aber es will nicht.
Kann mir da Jemanden helfen.
Im voraus Vielen Dank
Uli
Sub Countdown()
'
'
Ziel = DateValue("12.10.2007") + TimeValue("19:00:00")
Jetzt = Now()
Delta = Ziel - Now
Tage = Round(Delta - 0.5, 0)
Delta = (Delta - Tage) * 24
Stunden = Round(Delta - 0.5, 0)
Delta = (Delta - Stunden) * 60
Minuten = Round(Delta - 0.5, 0)
Delta = (Delta - Minuten) * 60
Sekunden = Round(Delta - 0.5, 0)
TimeStr = Str(Tage) + " Tage, " + Str(Stunden) + " Stunden, " + Str(Minuten) + " Minuten, " + Str(Sekunden) + " Sekunden"
Range("B6").Select
ActiveCell.FormulaR1C1 = TimeStr
Application.OnTime Now + TimeValue("00:00:05"), "Countdown"
End Sub
Antwort 1 von coros
Hallo Pelikan,
tausche nachfolgende Makros gegen Dein bestehendes aus.
Mit dem Makro "Stoppen" kannst Du das Makro "Countdown" beenden.
Damit das Makro "Countdown" beim Öffnen der Datei ausgeführt wird, musst Du in das VBA-Projekt "DieseArbeitsmappe noch folgendes hineinkopieren.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Ich hoffe Du kommst klar.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 1 & 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
tausche nachfolgende Makros gegen Dein bestehendes aus.
Public NextTime As Variant
Sub Countdown()
'
NextTime = Now + TimeValue("00:00:05")
Ziel = DateValue("12.10.2007") + TimeValue("19:00:00")
Jetzt = Now()
Delta = Ziel - Now
Tage = Round(Delta - 0.5, 0)
Delta = (Delta - Tage) * 24
Stunden = Round(Delta - 0.5, 0)
Delta = (Delta - Stunden) * 60
Minuten = Round(Delta - 0.5, 0)
Delta = (Delta - Minuten) * 60
Sekunden = Round(Delta - 0.5, 0)
TimeStr = Str(Tage) + " Tage, " + Str(Stunden) + " Stunden, " + Str(Minuten) + " Minuten, " + Str(Sekunden) + " Sekunden"
Range("B6").Select
ActiveCell.FormulaR1C1 = TimeStr
Application.OnTime NextTime, "Countdown"
End Sub
Sub Stoppen()
Application.OnTime EarliestTime:=NextTime, Procedure:="Countdown", Schedule:=False
End SubMit dem Makro "Stoppen" kannst Du das Makro "Countdown" beenden.
Damit das Makro "Countdown" beim Öffnen der Datei ausgeführt wird, musst Du in das VBA-Projekt "DieseArbeitsmappe noch folgendes hineinkopieren.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Stoppen
End Sub
Private Sub Workbook_Open()
Countdown
End Sub
Ich hoffe Du kommst klar.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 1 & 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von coros
Hallo,
ich nochmal,
da ist mir beim Schreiben ein kleiner Fehler unterlaufen, bzw. ich habe vergessen aus dem Text etwas zu löschen.
Also der Code
gehört in das VBA-Projekt "DieseArbeitsmappe" und nicht wie im vorigen Beitrag geschrieben in ein StandardModul.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
ich nochmal,
da ist mir beim Schreiben ein kleiner Fehler unterlaufen, bzw. ich habe vergessen aus dem Text etwas zu löschen.
Also der Code
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Stoppen
End Sub
Private Sub Workbook_Open()
Countdown
End Sub
gehört in das VBA-Projekt "DieseArbeitsmappe" und nicht wie im vorigen Beitrag geschrieben in ein StandardModul.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 3 von pelikan
Hallo coros,
SUPER Danke hat alles perfekt funktioniert,
nicht schlimm wegen deine Korrektur, hatte mir schon gedacht das es unter "diesearbeitsmappe" rein musste, habs da direkt eingebunden und es läuft wie gesagt perfekt.
Danke.
PS werde deine HP trotzdem besuchen und mir deine Beispiele anschauen, da kann man bestimmt noch was dazu lernen.
Danke
Pelikan
SUPER Danke hat alles perfekt funktioniert,
nicht schlimm wegen deine Korrektur, hatte mir schon gedacht das es unter "diesearbeitsmappe" rein musste, habs da direkt eingebunden und es läuft wie gesagt perfekt.
Danke.
PS werde deine HP trotzdem besuchen und mir deine Beispiele anschauen, da kann man bestimmt noch was dazu lernen.
Danke
Pelikan

