excel vba zeitvergleich

  • #1
H

hans jupp

Bekanntes Mitglied
Themenersteller
Dabei seit
20.06.2003
Beiträge
473
Reaktionspunkte
0
hallo,

ich habe in zelle a1 eine uhrzeit stehen (bspw. 08:00).
mit welchem code bekomme ich es hin, daß sich 30 minuten später (08:30) eine msgbox öffnet?

vielen dank schonmal für eure hilfe!

gruß,
hans jupp
 
  • #2
Hi,
wo ich deine Frage gelesen habe, hab ich spontan an sowas hier gedacht:
Code:
Sub test()
Dim zeit As Date
Dim zeit2 As Date

zeit = Range(A1)
zeit = zeit + 0:30
zeit2 = Format(Now, hh:mm)

If zeit = zeit2 Then
MsgBox Test
End If
End Sub

nur das Problem hierbei ist, dass dieses sub genau um die betreffende Uhrzeit durchlaufen muss.
Das ist noch nicht die Lösung, ich überleg nochmal aber evtl. dient es dir schon mal als denk anstoß.
Ein paar Hintergrund Infos wären ganz hilfreich steht die Uhrzeit beim öffnen der Datei schon drin, oder wird diese eingetragen und ab dann z.B. 30min.
Das Problem dabei ist, welche Aktion startet das sub
 
  • #3
Hallo zusammen,

probiert es mal so ...

Gruß Matjes :)
Code:
Option Explicit
'Msgbox ausgeben um Urhzeit aus A1,
'wenn Zeitangabe > Zeitangabe(jetzt)

Function MsgAusgeben()
 MsgBox Uhrzeit:  & Format(Now(), hh:nn:ss)
End Function


Sub UhrzeitTestenUndSetzen()
 Dim weckzeit As Date, jetzt As Date
 
->prüfen, ob kein Wert in A1 ist
 If Range(A1).Value =  Then Exit Sub
 
->prüfen, ob ein Zeit-Wert in A1 ist
 On Error Resume Next
 weckzeit = Range(A1).Value
 If Err.Number <> 0 Then
  On Error GoTo 0
  MsgBox A1 enthält keine korrekte Zeitangabe.
  Exit Sub
 End If
 On Error GoTo 0
 
->prüfen, ob ein Zeit in der Zukunft liegt
 jetzt = Format(Now(), hh:nn)
 If jetzt >= weckzeit Then
  MsgBox Weckzeit in der Vergangenheit
  Exit Sub
 End If
 
->Msgbox zur Weckzeit ausgeben
 Application.OnTime weckzeit, MsgAusgeben
End Sub
 
  • #4
darf ich mal ne kleine Frage zu deiner wieder einmal genialen Lösung stellen?
Ich mach es einfach mal.
Wenn ich das jetzt richtig verstanden habe sollte man das Makro starten, wenn man die Eingabe in A1 macht, soweit richtig?
Wenn das Makro jetzt bei Application.OnTime weckzeit, MsgAusgeben angekommen ist, bleibt es dann solange aktiv bis die Zeit erreicht worden ist führt dann die Funktion aus und beendet das sub? Wie funktioniert das genau? Kann man Excel dazwischen evtl sogar schließen? Rechner ausschalten wird nicht funktionieren, oder etwa doch?
Ok sind viele kleine Fragen geworden, aber ich habe ein ähnliches Projekt im Kopf
Vielen Dank Matjes
 
  • #5
  • #6
hallo,

die variante von matjes läuft bei mir problemlos.

vielen dank für eure hilfe !!!

gruß,
hans jupp
 
Thema:

excel vba zeitvergleich

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben