Countdown nach Vorbild Sparkasse
#1
Hallo miteinander,

Kennt ihr das Online-Banking der Sparkasse?
Da ist oben eine Anzeige in der angezeigt wird, wann man vom System abgemeldet wird. Bei nicht Benutzung der Seite zählt diese Anzeige im Minutentakt runter.
Nach Ablauf des Timers wird die Seite geschlossen. 

Ich würde das gern genauso in Excel umsetzen.
Die Anzeige darf natürlich Excel nicht beeinträchtigen. Man muss normal auf dem Blatt arbeiten können. Bei manchen Timern regt sich ja Excel kaum noch. 
Nach Ablauf des Timers soll ein Macro ausgeführt werden (Datei wird geschlossen und gelöscht).

Wie kann man sowas realisieren?

Viele Grüße 
Klaus
Top
#2
Hallöchen,

kannst Du etwas VBA? Mit Application.OnTime kann man ein Makro nach oder zu einer bestimmten Zeit aufrufen und auch sich selbst aufrufen lassen. Dadurch könntest Du zB. jede Minute irgendwo was ändern, z.B. ein farbiges Textfeld erweitern oder die Statusbar ändern oder … Man kann auch ein Userform mit einer ProgressBar oder Zeitangabe anzeigen und weiterarbeiten. Dazu gibt es die Eigenschaft ShowModal.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#3
Hi schauen,

ein bisschen VBA kann ich. Es reicht um eine UF zu basteln und zwei drei Dinge zusammen zu stricken. 
Aber um aus dem Stehgreif mit Application.ontime was funktionierendes zu bauen langt es nicht. 

Die Idee den Timer in der UF unterzubringen, diese dann nach Ablauf einer Zeit erscheinen zu lassen, den Countdown runter zu zählen, im Zweifel per Button abzubrechen, den Timer neu zu starten - das ganze übliche halt, hab ich mangels funktionierendem Zusammenspiel, oder besser gesagt mangels Wissen wie ich solche Bausteine richtig verbinde, verworfen.  
Die Variante die Zeit einfach dauerhaft in der Überschrift des Blattes anzuzeigen und dann bei Null einfach dicht zu machen scheint mir weit einfacher. 
Nur eben nicht so einfach, als dass ich sowas selbst erstellen kann. Darum bräuchte ich hierzu Hilfe. 

Liebe Grüße
Klaus
Top
#4
Hi Klaus,

schau Dir mal mein Beispiel in diesme Thread an - in #3

Excel inaktiv dann schließen
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#5
Hi schauen,
super. Sobald ich mir den PC wieder erkämpft hab (meine Frau hält ihn in Beschlag) werde ich das Testen und mich dazu melden. 
Vielen Dank vorab. 

Liebe Grüße
Klaus
Top
#6
so... hab die Macht wieder an mich gerissen ;)

Leider konnte ich das nicht so recht testen was da passiert, da eine Fehlermeldung ausgeworfen wird.


Angehängte Dateien Thumbnail(s)
   
Top
#7
Hallöchen,

das anzupassen würde wohl zum einen etwas dauern und zum anderen hab ich nur 32 bit, könnte das also selber nicht testen Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#8
Hi schauan,

ja das verstehe ich.

Bin nun wieder mit meiner Anfagsidee am stricken.

einen Timer bekomme ich ja nun schon in Zelle A1 ans laufen:

Code:
Sub timer()
     interval = Now + TimeValue("00:00:01")
     If Range("A1").Value = 0 Then Exit Sub
     Range("A1") = Range("A1") - TimeValue("00:00:01")
     Application.OnTime interval, "timer"
End Sub

Jetzt müsste man ihn nur noch irgendwie sauber zum Neustart bewegen können wenn in irgend eine Zelle geklickt wird.

Und nach Ablauf der Zeit, müsste er noch ordentlich stoppen, (dann soll ja das Makro zum schließen der Datei ablaufen) damit Excel nicht versucht die Datei nach dem schließen wieder zu öffnen.
Top
#9
Hallöchen,

1) den Timer bzw, konkret die Zelle A1 kannst Du sicher über ein Selection_Change - Makro in den Ausgangszustand versetzen.
2) nimm mal den Part ganz an den Anfang: If Range("A1").Value = 0 Then Exit Sub Passt aber auch so. Damit wird das Makro verlassen und nicht neu aufgerufen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#10
ok, 
2) ist verschoben.

1) selectionchange sitzt, jedoch wie soll der timer jetzt neu starten? 
Wenn ich den Timer per Makro Timer Start neu starte, dann springt die Zahl des Timers hin und her... so, als ob er mehrere Abläufe zur selben Zeit ausführt... macht er wohl wahrscheinlich auch...?

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Hier den Bereich anpassen
    Set Target = Application.Intersect(Target, Range("B2:R500"))

    'Wenn nicht innerhalb des Bereiches wird die Prozedur verlassen
    If Target Is Nothing Then Exit Sub

    'Errorhandling aktivieren, um im Falle eines Fehlers die Ereignisse
    'am Ende wieder zu aktivieren
    On Error GoTo ErrorHandler

     Application.EnableEvents = False   'Ereignisse ausschalten
   
    'Code zur Bearbeitung der Zelle
    Call timer
ErrorHandler:
    Application.EnableEvents = True   'Ereignisse wieder einschalten
End Sub
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste