Microsoft Excel

Herbers Excel/VBA-Archiv

Sehr spezielle Zellformate

Betrifft: Sehr spezielle Zellformate von: Eddie Felson
Geschrieben am: 11.08.2008 12:11:01

Ich habe zwei sehr spezielle Probleme mit Zellformaten:

1. Ich möchte eine Zelle als 'Dauer' definieren und zwar so, das ich in die Zelle eingeben kann 2Tage 23:00:00. In der Zelle wird also z.B. angezeigt '2d 23:00:00'. Wenn die Zelle jedoch per Formel oder VBA ausgelesen wird, soll sie mir in dem Beispiel 71:00:00 (2*24+23)zurückgeben. Leider gibt es das Format Dauer nur mit Zeit, aber nicht mit Tagen. Einmal ist es mir gelungen, ein benutzerdefiniertes Zahlenformat zu generieren, das mir bei Eingabe von 2 angezeigt hat 2d 00:00:00 und bei Zugriff 48:00h. Das wäre so wie ich das haben will. Dummerweise ist es mir nicht gelungen, 2 Tage, x Stunden, x Minuten und x Sekunden in die Zelle einzugeben, da kam immer sofort eine Fehlermeldung, eingeben konnte ich nur Ganzzahlen.
---------------------------------------------------------
2. Ist es möglich eine Zelle so zu formatieren, dass bei Eingabe einer 13 Stelligen Zahl, immer nur die rechten wir Stellen angezeigt werden, jedoch bei einem Zugriff auf die Zelle, mir die komplette Zahl zur Verfühgung steht.

  

Betrifft: AW: Sehr spezielle Zellformate von: Daniel
Geschrieben am: 11.08.2008 14:00:29

Hi

das Format "Dauer" wäre mir nicht bekannt (ist eventuell neu in 2003?)

aber wenn du einen Zeitraum von 2 Tagen und 23 h in eine Zelle eingeben willst, dann entweder als Dezimalzahl:
2,958333
oder als Rechenformel
=2+23/24
oder als Datum
2.1.1900 23:00

der Tatsächliche Wert in der Zelle ist bei allen 3 eingaben der gleiche.
die Darstellung hängt von der Formatierung ab, bei der Eingabe spielt das Anzeigeformat keine Rolle.
hintergrund: Datum und Zeit sind für Excel auch nur normale Zahlen. die Tage sind die Ganzzahlen und die Zeiten sind die Nachkommastellen. Die Zählung beginnt mit 1 am 1.1.1900 0:00


zur 2. Frage
da würde mir nur folgender Workaround einfallen:
1. betroffene Eingebespalte folgendermassen formatieren:
- Zahlenformat "Text" (diese Formatierung muss VOR der Eingabe der Werte erfolgen)
- Spaltenbreite so, daß nur 4 zeichen in die Spalte passen
- Textausrichtung "rechts"
2. die Zellen der spalte links davon mit jeweils einem Leerzeichen füllen

Gruß, Daniel


  

Betrifft: AW: Sehr spezielle Zellformate von: Eddie Felson
Geschrieben am: 12.08.2008 09:00:40

Zur Frage 1:
Mit dem Format 'Dauer' meinte ich das Zeitformat '37:30:55'
Wenn Excel das schon so kann, sollte man eigentlich annehmen das auch die Eingabe 1d, 13:30:55 funktioniert, aber scheinbar nicht. Ich konnte eben nur die Zahlenausgabe so formatieren, jedoch die Zahlen in dem Format nicht eingeben. Ich habe mir das nun mit VB programmiert, woran ich ein paar Stunden gesessen habe. Das einige Ziel war, was ich bisher noch nicht genauer beschrieben hatte, bei der Eingabe von 2d,13:30:55, now + 2d,13:30:55 zu rechnen und das neue Datum/Zeit zu erhalten.

Zur Frage 2:
Der Lösungsansatz ist etwas windig, da je nach Monitor- Druckereinstellung dann auch mal etwas von der 5 Zahl zu sehen sein könnte - aber es ist ein Weg

Besten Dank jedenfalls


  

Betrifft: AW: Sehr spezielle Zellformate von: David
Geschrieben am: 12.08.2008 09:33:40

Hier mal eine Beispieldatei für dein gewünschten Formate:

https://www.herber.de/bbs/user/54534.xls

Die Eingabe von Zeiten in das benutzerdefinierte Format muss mit (mindestens) Tag-Monat [Stunde]:[Minute]:[Sekunde] erfolgen, wobei die [] bedeuten sollen, dass diese Eingaben nicht unbedingt notwendig sind (dann wird 0 angenommen) aber wenn z. Bsp. Sekunden eingegeben werden, MÜSSEN vorher Stunden und Minuten eingegeben werden.
Würde mich freuen, wenn das bei deiner Frage hilft.

zu 2.) Nein, das geht nicht über ein Zahlenformat. Wenn du das nicht vermeiden kannst, würde ich dir vorschlagen, die Originalzahl in eine ausgeblendete Spalte zu tun, die Anzeigespalte per Textfunktionen zu gestalten (=RECHTS(...)) und weitergehende Formeln auf die ausgeblendete Spalte zugreifen zu lassen.

Rückmeldung wäre nett.

Gruß
David


  

Betrifft: AW: Sehr spezielle Zellformate von: Eddie Felson
Geschrieben am: 12.08.2008 12:38:24

@David
Das Problem hast Du schon beschrieben, denn die Eingabe muß als eine Art Datum erfolgen. Ich möchte eingeben 3d 12:59:59 und das geht eben scheinbar nicht. Ich müßte dann, so ich denke, 03.01.1900 12:59:59 eingeben und das ist für so eine Art Taschenrechner etwas unbefriedigend.

Fall 2 geht leider so nicht, weil ich in dem speziellen Fall keine zusätzlich Spalte verwenden will/kann


  

Betrifft: AW: Sehr spezielle Zellformate von: David
Geschrieben am: 12.08.2008 13:11:32

wenn du die Eingabe nicht über die Zelle direkt, sondern eine UF oder eine Inputbox machst, lasse die Eingabe als String machen, zerlege diesen mit den Textfunktionen in die benötigten Teile und setze das dann als gewünschtes Datum wieder zusammen.

Dein zweites Problem ist dann (meiner Meinung) nicht lösbar.

Gruß

David


  

Betrifft: AW: Sehr spezielle Zellformate von: Eddie Felson
Geschrieben am: 13.08.2008 12:36:49

Genau so mache ich es ja jetzt, nur nicht mit einer Inputbox, sondern direkt in der zelle. Ich frage den Worksheet_change ab und lese dann die als Text formatierte Zelle aus