Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eintrag auf Uhrzeit prüfen

Forumthread: Eintrag auf Uhrzeit prüfen

Eintrag auf Uhrzeit prüfen
Susanne
Hallo,
da meine Frage ins Archiv gerutscht ist, aber noch nicht vollständig beantortet ist hier noch mal Code und Problem:
Option Explicit
Pivate Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim c As Range, d As Boolean
For Each c In Range("K6:K36")
d = c  "" And IsDate(c)
If Not d Then Exit For
Next c
If d Then
If Len(Range("K3")) 

Wenn im im Bereich K6:K36 eine Zeit (Format hh:mm) eingetragen ist (egal ob über Formel oder als absolutert Wert), soll in K3 ein mind. 6stelliger Eintrag stehen, sonst MsgBox und speichern nicht möglich. Wenn in dem Bereich alle Zellen nur Formeln enhalten ohne Wert oder leer sind, dann muss kein 6stelliger Eintrag erfolgen um zu speichern. So wie der Code jetzt ist, speichert Excel ganz normal, obwohl eine Zeit eingetragen ist :-(. Vermute, dass es an IsDate liegt, hab schon probiert es mit "Like "##:##" " zu erweitern, hat aber auch nicht funktioniert. Hat noch jemand (Luc ;-) ) eine Idee?
Danke für eure Hilfe!
Susanne
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Eintrag auf Uhrzeit prüfen
26.10.2009 13:03:07
Rudi
Hallo,
vllt so?

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim c As Range, d As Boolean
For Each c In Range("K6:K36")
d = c  "" And IsDate(c)
If d Then
If Len(Range("K3")) 

Gruß
Rudi
AW: Eintrag auf Uhrzeit prüfen
26.10.2009 13:07:55
Susanne
Hallo Rudi,
inhaltlich hast du nichts geändert außer, dass Exit rauszunehmen, oder? Habs trotzdem mal probiert, hat aber wieder normal gespeichert, obwohl eine Zeit eingetragen war.
Liebe Grüße,
Susanne
Anzeige
AW: Eintrag auf Uhrzeit prüfen
26.10.2009 13:20:56
Rudi
Hallo,
dann mal so:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim c As Range, d As Boolean
For Each c In Range("K6:K36")
d = c  "" And InStr(c.Text, ":") > 0
If d Then
If Len(Range("K3")) 

Gruß
Rudi
AW: Funktioniert!!!
26.10.2009 13:58:07
Susanne
Hallo Rudi,
es funktioniert! Bin total begeistert, vielen Dank für deine Hilfe!
Liebe Grüße,
Susanne
Anzeige
;

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