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

Countdown

Forumthread: Countdown

Countdown
18.02.2005 19:01:30
Konni
Hallo Freaks,
ich habe einen Countdown, der die Tabelle nach einer Startzeit von 1 Minute bei Inaktivität abspeichert und automatisch schließt, damit Kollegen im Netzwerk auch daran arbeiten können.
Bei Erreichen von 30 Sekunden ertönt ein Klingelton, bei kleiner/gleich 5 Sekunden pro Sekunde ein Piep.
Wenn ich die Startzeit auf 5 Minuten einstelle, so passiert das Ganze wiederholt im Minutenrythmus. - Wie kann ich dies auf kleiner 1 Minute beschränken?
Der Code: If Second(.Value) = 30 Then ....
Besten Dank für Eure Hilfe
Konni
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Countdown
18.02.2005 19:09:03
Konni
Hier der kompltte Code:
Option Explicit
Public ET As Variant
Public DaZeit As Date
Private Declare

Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Sub Zeitmakro()
With ThisWorkbook.Worksheets("Maßnahmen 2005").Range("A10")
.Value = .Value - CDate("00:00:01")
If .Value <> 0 Then
ET = Now + TimeValue("00:00:01")
If Second(.Value) = 30 Then
Call sndPlaySound32("C:\Winnt\media\klingel.wav", 1)
End If
If Second(.Value) <= 5 Then
Call sndPlaySound32("C:\Winnt\media\ding.wav", 1)
End If
Application.OnTime ET, "Zeitmakro"
Else
ThisWorkbook.Close True 'speichern
' Meldung bei Excel immer in Vordergrund
' Dim mldg
' mldg = MsgBox("Endzeit erreicht", 1048576, "Endzeit")
' 1048576 entspricht vbMsgBoxRtlReading
End If
End With
End Sub


Sub MacrosON()
'Dieses Macro ausführen wenn der Code zwischen
'Application.EnableEvents = False und
'Application.EnableEvents = True
'angehalten wurde oder abstürzt
Application.EnableEvents = True
End Sub

Gruß: Konni
Anzeige
AW: Countdown
18.02.2005 19:09:13
Konni
Hier der kompltte Code:
Option Explicit
Public ET As Variant
Public DaZeit As Date
Private Declare

Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Sub Zeitmakro()
With ThisWorkbook.Worksheets("Maßnahmen 2005").Range("A10")
.Value = .Value - CDate("00:00:01")
If .Value <> 0 Then
ET = Now + TimeValue("00:00:01")
If Second(.Value) = 30 Then
Call sndPlaySound32("C:\Winnt\media\klingel.wav", 1)
End If
If Second(.Value) <= 5 Then
Call sndPlaySound32("C:\Winnt\media\ding.wav", 1)
End If
Application.OnTime ET, "Zeitmakro"
Else
ThisWorkbook.Close True 'speichern
' Meldung bei Excel immer in Vordergrund
' Dim mldg
' mldg = MsgBox("Endzeit erreicht", 1048576, "Endzeit")
' 1048576 entspricht vbMsgBoxRtlReading
End If
End With
End Sub


Sub MacrosON()
'Dieses Macro ausführen wenn der Code zwischen
'Application.EnableEvents = False und
'Application.EnableEvents = True
'angehalten wurde oder abstürzt
Application.EnableEvents = True
End Sub

Gruß: Konni
Anzeige
AW: Countdown
18.02.2005 19:09:25
Konni
Hier der kompltte Code:
Option Explicit
Public ET As Variant
Public DaZeit As Date
Private Declare

Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long

Sub Zeitmakro()
With ThisWorkbook.Worksheets("Maßnahmen 2005").Range("A10")
.Value = .Value - CDate("00:00:01")
If .Value <> 0 Then
ET = Now + TimeValue("00:00:01")
If Second(.Value) = 30 Then
Call sndPlaySound32("C:\Winnt\media\klingel.wav", 1)
End If
If Second(.Value) <= 5 Then
Call sndPlaySound32("C:\Winnt\media\ding.wav", 1)
End If
Application.OnTime ET, "Zeitmakro"
Else
ThisWorkbook.Close True 'speichern
' Meldung bei Excel immer in Vordergrund
' Dim mldg
' mldg = MsgBox("Endzeit erreicht", 1048576, "Endzeit")
' 1048576 entspricht vbMsgBoxRtlReading
End If
End With
End Sub


Sub MacrosON()
'Dieses Macro ausführen wenn der Code zwischen
'Application.EnableEvents = False und
'Application.EnableEvents = True
'angehalten wurde oder abstürzt
Application.EnableEvents = True
End Sub

Gruß: Konni
Anzeige
AW: Countdown
Ramses
Hallo
wenn du nur Sekunden prüfst, ist das klar :-)

Sub Zeitmakro()
With ThisWorkbook.Worksheets("Tabelle1").Range("A1")
.Value = .Value - CDate("00:00:01")
If .Value <> 0 Then
ET = Now + TimeValue("00:00:01")
If Minute(.Value) < 0 Then
If Second(.Value) = 30 Then
Call sndPlaySound32("C:\Winnt\media\klingel.wav", 1)
End If
If Second(.Value) <= 5 Then
Call sndPlaySound32("C:\Winnt\media\ding.wav", 1)
End If
End If
Application.OnTime ET, "Zeitmakro"
Else
ThisWorkbook.Close True 'speichern
' Meldung bei Excel immer in Vordergrund
' Dim mldg
' mldg = MsgBox("Endzeit erreicht", 1048576, "Endzeit")
' 1048576 entspricht vbMsgBoxRtlReading
End If
End With
End Sub

Gruss Rainer
Anzeige
Sorry,... kleine Korrektur :-)
Ramses
Hallo
es muss heissen
If Minute(.Value) = 0 Then
Gruss Rainer
AW: Sorry,... kleine Korrektur :-)
Konni
Hallo Rainer,
vielen Dank für Deine Hilfe, klappt prima. - Konnte mich leider nicht früher bedanken, da ich ausser Haus war.
:-) Konni
;

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