Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
592to596
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gültigkeits

Gültigkeits
31.03.2005 10:00:40
serge
Hallo alle zusammen
Ich suche eine benutzerdefinierte Gültigkeit um sicher zu stellen das man nur Zeiten eingeben kann z.B. 45:30 (auch mehr als 24 stunden: Format etwa [h]:mm)
Wer kennt da die Lösung.
Danke
Serge

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gültigkeits
31.03.2005 10:33:24
Boris
Hi Serge,
da Zeiten immer positive Dezimalzahlen sind, sollte es reichen, die Zelle mit [h]:mm zu formatieren und über die Gültigkeit nur Dezimalzahlen größer Null zuzulassen.
Grüße Boris
AW: Gültigkeits
31.03.2005 10:39:39
serge
Hi Boris
mit deiner Lösung kann ich 200 eingeben und es zeigt mir 4800:00 an (in der Zelle ist dann 18.7.1900 00:00:00 ein Datum).
Es sollte nicht möglich sein eine normale Zahl einzugeben also nur in dieser Form 200:00
serge
Nur Zeiteingaben zulässig - Workgaround
31.03.2005 11:03:48
Boris
Hi Serge,
kann mich Cobra nur anschließen - aber es ginge so:
Gültigkeitszelle (hier C3) als Text formatieren und unter Gültigkeit - Benutzerdefiniert:
=ISTZAHL(C3*1)*ANZAHL(FINDEN(":";C3))
Wenn du dann mit dem Zellwert weiterrechnen möchtest, musst du ihn in jeder Berechnung wieder zu einer Zahl machen - z.B. durch Multiplikation mit 1:
=C3*1
Grüße Boris
Anzeige
AW: Gültigkeits
31.03.2005 10:38:29
c0bRa
hallo...
das problem ist, dass zeiten in excel als zahlen behandelt werden...
wenn du von 0:00:01 - 23:59:59 haben willst hätte eine begrenzung >0 und <1 gereicht, da du aber auch mehr als 24 stunden eingeben willst, kriegst du ein problem... vielelicht mit der länge des textes ein ansatz der eingrenzung.
eine abfrage, ob ein : gefunden wird kannst du nicht einbauen, da die zeit die in der zelle hinterlegt ist eine bruchzahl darstellt, welche nur durch die formatierung ein : enthält... aber der wert von zelle a1 ist 0,5 wenn 12:00 angezeigt wird!

Rückmeldung nicht vergessen...
c0bRa
Anzeige
Format
31.03.2005 10:47:34
serge
Hi c0bRa
mit Zellformat [h]:mm)kann ich Zeitzen grösser als 24:00 eingeben aber so 200:00 nicht so 200. Ich kann damit weiterrechnen.
Wenn ich 200 eingeben und es zeigt mir 4800:00 an (in der Zelle ist dann 18.7.1900 00:00:00 ein Datum).
Es sollte nicht möglich sein eine normale Zahl einzugeben also nur in dieser Form 200:00
Serge
AW: Format
31.03.2005 10:51:54
c0bRa
und genau das ist das problem... es geht nicht...
200 entspricht 200 tagen also 200*24 stunden und ist gleich der eingabe 4800:00
excel utnerscheidet da nicht bei der eingabe, sondern lediglich in dem was effektiv in der zelle gespeichert wird...
einzige möglichkeit wäre es über die textlänge zu regeln...
>=4 und <=6 würde eingaben von 0:01 bis 999:99 zulassen, aber nicht pürfen ob es ein sinniges zeitformat ist...
zeit eingaben bringen dir auch nix, weil er bei 23:59 sagt "ende ist"...

Rückmeldung nicht vergessen...
c0bRa
Anzeige
Danke, Ich gebe auf!
31.03.2005 11:12:34
serge
Hallo alle
Ich komme mit allen euren Vorschläge nicht zurecht.
Ich gebe auf!
Danke Serge
AW: Ne, ne, weiter geht's
31.03.2005 12:16:05
Martin
Hallo Serge,
versuch mal als Ansatz diese Ereignisprozedur (hier für Eingaben in Zelle A1):

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errorhandler
If Target.Address(0, 0) = "A1" Then
Target.NumberFormat = "[h]:mm"
If Len(Target.Text) < 3 Then
MsgBox "Fehleingabe. Es sind nur Eingaben in der Form hhh:mm zulässig. Bitte korigieren."
Application.EnableEvents = False
Target.Clear
Target.Select
Application.EnableEvents = True
Exit Sub
End If
If Len(Target.Text) > 6 Or Mid(Target.Text, Len(Target.Text) - 2, 1) <> ":" Or CDbl(Right(Target.Text, 2)) > 59 Then
MsgBox "Fehleingabe. Es sind nur Eingaben in der Form hhh:mm zulässig. Bitte korigieren."
Application.EnableEvents = False
Target.Clear
Target.Select
Application.EnableEvents = True
Exit Sub
End If
End If
Exit Sub
errorhandler:
Target.Clear
Target.Select
Application.EnableEvents = True
End Sub

Es müssen evtl. noch Fehler abgefangen werden, ich konnte nicht alles testen. Mußt Du halt einfach mal ausprobieren.
Gruß
Martin Beck
Anzeige
weiter geht's, aber bei mir noch nicht
31.03.2005 18:16:29
serge
Hallo Martin
zuerst mal Danke für dein Einsatz.
Ich habe dein VBA ausprobiert, komme aber nicht zu meinem Ziel.
Ich habe ein Beispiel angehängt.
https://www.herber.de/bbs/user/20445.xls
Gruss Serge
AW: weiter geht's, aber bei mir noch nicht
31.03.2005 20:11:45
Martin
Hallo Serge,
tja, auch in Deiner Beispieldatei machte der Code das, was ich verstanden habe, was Du erreichen willst, und zwar
Stunden/Minuten bis 999:59 eingeben als Text mit hhh:mm als Strukturvorgabe und Umwandlung in eine "echte" Stundenangabe, mit der man weiterrechnen kann. Wenn Du etwas anderes willst, beschreibe das noch einmal ganz präzise.
Gruß
Martin Beck
Anzeige
AW: weiter geht's, aber bei mir noch nicht
01.04.2005 08:50:41
serge
Hallo Martin
Ich möchte dass die Eingabe nur in der Form hh:mm erfolgen kann,nicht einfach eine dezimal Zahl wie z.B 42.0
Also nur 42:00 oder auch 250:00
https://www.herber.de/bbs/user/20445.xls
Gruss Serge

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige