Gültigkeit nur Zeit | Herbers Excel-Forum

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox


Betrifft: Gültigkeit nur Zeit
von: Sven
Geschrieben am: 10.11.2009 11:57:03

Hallo zusammen,
ich stehe hier vor einem Excelproblem. In einer Tabelle mit Arbeitszeiten möchte ich dem User nur erlauben Zeiten im Format [hh]:mm (welches ich auch als Format der Zellen eingestellt habe) einzugeben. Beim der "normalen" Gültigkeits - Festlegung werden Eingaben, z. B. "4,5" automatisch umgerechnet und als Zeiten eingegeben. Es sollen aber definitiv nur Zeiteingaben erlaubt werden, die mit Doppelpunkt eingegeben werden.
Vielleicht kurz zum Hintergrund: Kommataeingaben, oder auch Eingaben von nur ganzen Zahlen werden durch die Umrechnung in "andere" werde verwandelt (z.B. wird "4" zu "96:00:00"). Genau das hoffe ich durch die Format - Festlegung zu verhindern.
Alternativ wäre es evtl. auch möglich nur bestimmte Zeichen für die Eingabe zuzulassen, in meinem Fall also nur die Ziffern 0-9 und ":" - allerdings müssten diese Zeichen kombinierbar sein ...
Vielleicht wisst ihr ja Rat. Schonmal Danke und Gruß,
Sven

Betrifft: AW: Gültigkeit nur Zeit
von: Rudi Maintaire
Geschrieben am: 10.11.2009 12:49:21
Hallo,
Dezimalzahlen kleiner als 1.
Gruß
Rudi

Betrifft: AW: Gültigkeit nur Zeit
von: Sven
Geschrieben am: 10.11.2009 13:30:39
Hallo Rudi,
ziemlich gute Idee. Problem ist nur, dass durchaus Zeiten über 24:00 Stunden vorkommen (Überstunden). Will heißen die Eingabe von z. B. 144:45 muss weiterhin möglich sein ...
Gruß,
Sven

Betrifft: Sklaverei
von: Rudi Maintaire
Geschrieben am: 10.11.2009 14:26:53


über 24:00 Stunden vorkommen (Überstunden). 

das darf doch wohl nicht wahr sein!
Da die Zeit sofort in eine Dezimalzahl umgewandelt wird, kannst du die Eingabe auch nicht auf das Vorhandensein von ":" prüfen.
Gruß
Rudi

Betrifft: AW: Sklaverei
von: Sven
Geschrieben am: 10.11.2009 16:26:43
So, habe jetzt selbst eine Makro - Lösung gefunden (von hinten durch die Brust aber was soll's). Poste die heute oder Morgen für alle die vor ähnlichen Problemen stehen
Danke fürs Input
Sven

Betrifft: AW: Sklaverei
von: Sven
Geschrieben am: 10.11.2009 17:38:52
So, hier die angekündigte Lösung:
Weitere Erläuterung: in den Spalten 4 - 11 sollen die Zeitwerte eingetragen werden, zugelassen werden nur Werte, die mit ":" eingegeben werden. Folgendes Makro öffnet immer wenn eine Zelle aus den fraglichen Spalten aktiviert wird eine InputBox. Wird ein plausibler Wert erfasst, wird der EingabeWert aus der InputBox in die aktivierte Zelle übertragen. Bei einem unplausiblen Wert gibt es eine Fehlermeldung (MsgBox) und das Makro wird ohne Wertübertragung beendet. Wenn jetzt noch jemand eine Idee hat, wie ich die InputBox umgehen könnte ...
Hier mal das Makro (klar, einzufügen in "Tabelle1"):

Public Sub Worksheet_SelectionChange(ByVal Target As Range)
 
 
If Target.Column = 4 Or Target.Column = 5 Or Target.Column = 6 Or Target.Column = 7 Or Target.   _
 _
_
_
Column = 8 Or Target.Column = 9 Or Target.Column = 10 Or Target.Column = 11 Then
 
      A = InputBox("Bitte Zeit im Format xx:xx eingeben!", "Zeit eintragen")
 
Else: Exit Sub
 
End If
 
If InStr(1, A, ":") > 0 Then ActiveCell = A Else: MsgBox ("Kein gültiges Zeitformat!")
 
End Sub

Wie scon gesagt: Umständlich, aber es funzt.
Gruß vom Sven

Beiträge aus den Excel-Beispielen zum Thema "Gültigkeit nur Zeit"