Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
288to292
288to292
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Umwandeln Datum in Zahl verhindern

Umwandeln Datum in Zahl verhindern
04.08.2003 14:01:01
Grill Andreas
Hallo,
ich habe eine Zelle, die als Zahl mit einer Kommastelle definiert ist.
Weiters überprüfe ich die Gültigkeit, ob die eingegebene Zahl auch max. 1 Kommastelle hat.
Soweit so gut, wenn ich allerdings ein Datum eingebe, wird diese in eine Zahl umgewandelt. Ich will aber, dass bei Eingabe eines Datums oder einer Zeit keine Umwandlung erfolgt, sondern eine Fehlermeldung ausgegeben wird.
Kann ich das irgendwie in der Gültigkeit machen, oder muss ich dazu extra ein Makro schreiben?

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umwandeln Datum in Zahl verhindern
04.08.2003 15:34:53
Boris
Hi Andreas,

grundsätzlich wäre das mit der Funktion ZELLE("Format";A1) denkbar - besser noch mit:
=LINKS(ZELLE("Format";A1))

Wenn A1 als Datum formatiert ist, dann ist das Ergebnis "D". In Kombination mit einer ISTZAHL-Überprüfung kann man so beispielsweise "Datümer" zählen.

ABER:
Du hast deine Zelle ja vorformatiert mit "Zahl und 1 Nachkommastelle".
Die Formel
=LINKS(ZELLE("Format";A1))
liefert somit "F".
Wenn man dort jetzt ein Datum eingibt, dann behält die Zelle leider ihr Format bei - und das Datum wird in seine zugehörige Zahl (mit ,0 am Ende) umformatiert.
Also scheidet diese Möglichkeit aus.

Mit VBA bin ich auch gescheitert, da die Abfrage
Msgbox IsDate([a1])
auch FALSCH liefert, wenn in A1 ein Datum eingegeben wird, da dieses Datum ja sofort in die Zahl umgewandelt wird und das ursprüngliche Zellformat bestehen bleibt.

Insofern:
Ich sehe leider KEINE Möglichkeit, diese Eingabe mit den bestehenden Formaten zu unterdrücken.
Aber zumindest siehst du, dass sich jemand mit deiner Anfrage befasst hat.

Grüße Boris


Anzeige
AW: Umwandeln Datum in Zahl verhindern
04.08.2003 15:42:07
Andreas
Hallo,

danke für deine Vemühungen. Mit VBA und dergleichen (Änderungen abfangen, bevor sie umgewandelt werden, etc.) habe ich auch keine Lösung gefunden.

Als einzige Alternative ist mir bis jetzt nur eingefallen, die Zellen als Text zu Formatieren, und den Text nach allen möglichen falschen Eingaben zu überprüfen (Istzahl, '.' im String, ':' in String, und was ich sonst noch finde)


Vielleicht doch eine Gültigkeitslösung:
04.08.2003 15:52:40
Boris
Hi Andreas,

bezogen auf A1 - Zellformat STANDARD.
Unter Gültigkeit-Benutzerdefiniert- folgende Formel:

=UND(ISTZAHL(A1);LINKS(ZELLE("Format";A1))<>"D";ODER(A1=GANZZAHL(A1);WENN(ISTZAHL(FINDEN(",";A1));LÄNGE(A1)-FINDEN(",";A1)=1)))

Erlaubt sind Ganzzahlen und Zahlen mit EINER Nachkommastelle - sonst nix. Datümer und Uhrzeiten werden "abgewiesen".

Probier´s mal aus und gib Bescheid, ob es nach Deinen Wünschen läuft.

Grüße Boris


Anzeige
AW: Vielleicht doch eine Gültigkeitslösung:
05.08.2003 10:23:15
Andreas Grill
hab's jetzt ausprobiert, das dürfte funktionieren, ich hoffe nur, die anwnder kommen nicht auf die rgendwelche ideen etwas einzugeben, dass damit nicht überprüft wird.
danke


Eine Gültigkeit ist niemals DAU-sicher...
05.08.2003 10:34:50
Boris
Hi Andreas,

...normale Eingaben sollten eigentlich ALLE abgewiesen werden - halt nur Ganzzahlen oder Zahlen mit einer Nachkommastelle bleiben / sind erlaubt.

Aber es gibt ja noch die "Killer-Befehle" Kopieren / Ausschneiden und wieder einfügen.
Davor ist kein Gültigkeitsfeld gefeit...

Also hau deinen Anwendern vorher mal kräftig auf die Finger...;-)

Grüße Boris


Anzeige
AW: Eine Gültigkeit ist niemals DAU-sicher...
05.08.2003 14:29:04
Grill Andreas
Hab' schon einen Schwachpunkt gefunden: Wenn man nun eine kortekte Zahl eingibt (z.b.: 3.444) änder sich das Format automatisch auf Zahl. Gibt man hier nun ein Datum ein, wird das auf das Format Zahl geändert, und die Prüfung merkt nichts davon.
anscheinend muss ich wirklich auf Format standard überprüfen.


Wenn du auf die Tausendertrennung verzichtest,...
05.08.2003 15:44:46
Boris
Hi Andreas,

...dann kann man das auch noch unterbinden:
=UND(ISTZAHL(A1);LINKS(ZELLE("Format";A1))<>"D";LINKS(ZELLE("Format";A1))<>".";ODER(A1=GANZZAHL(A1);WENN(ISTZAHL(FINDEN(",";A1));LÄNGE(A1)-FINDEN(",";A1)=1)))

100.000 wird dann aber als 100000 dargestellt.

Gruß Boris


Anzeige

196 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige