Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
532to536
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
532to536
532to536
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox soll Datum im richtigen Format zeigen

ComboBox soll Datum im richtigen Format zeigen
16.12.2004 22:26:59
Michael
Liebe Excel Kollegen,
das Datum ist anscheinend immer ein Problem mit Windows. Zur Zeit entwickle ich ein USERFROM, in welchem ComboBoxen auf Tabellen mit Datumsfeldern zurückgreifen sollen. Wenn ich den DropDown öffne (anklicke), dann werden mir auch Datumsformate aus der Tabelle gezeigt. Wenn ich aber eines davon auswähle, wird das Datum als Zahl gezeigt. Wie kann ich die ComboBox (oder was auch immer) so einstellen, dass ich auch nach Auswahl das Datum als Datum gezeigt bekomme?
Vielen Dank.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox soll Datum im richtigen Format zeigen
Beni
Hallo Michael,
mit CDate(ComboBox) erzwingst Du ein Datumsformat.
Gruss Beni
AW: ComboBox soll Datum im richtigen Format zeigen
16.12.2004 23:11:47
Michael
Hallo Beni und alle anderen,
wie genau mache ich das dann mit CDate? Die VBA Hilfe im Excel gibt mir da leider keine brauchbaren Infos.
Kann ich das vor Start der Forms definieren? Oder muss ich etwas in den Eigenschaften der ComboBox verändern?
Gruß
Michael
AW: ComboBox soll Datum im richtigen Format zeigen
Beni
Hallo Michael,
leider kenne ich Dein Code nicht, aber hier ein Beispiel.
Gruss Beni

Private Sub ComboBox1_Change()
Cells(1, 5) = CDate(ComboBox1)
End Sub

AW: ComboBox soll Datum im richtigen Format zeigen
Ramses
Hallo
"... Die VBA Hilfe im Excel gibt mir da leider keine brauchbaren Info..."
Glaube ich,... wenn man nicht nachkuckt ;-)))
---------------------------
Der Funktionsname legt den Rückgabetyp wie folgt fest:
Funktion Rückgabetyp Bereich des Arguments Ausdruck
CBool Boolean Eine gültige Zeichenfolge oder ein gültiger numerischer Ausdruck.
CByte Byte 0 bis 255.
CCur Currency -922.337.203.685.477,5808 bis 922.337.203.685.477,5807.
CDate Date Ein beliebiger gültiger Datumsausdruck.
CDbl Double -1,79769313486231E308 bis
-4,94065645841247E-324 für negative Werte; 4,94065645841247E-324 bis 1,79769313486232E308 für positive Werte.
CDec Decimal +/-79.228.162.514.264.337.593.543.950.335 für skalierte Ganzzahlen, d.h. Zahlen ohne Dezimalstellen. Für Zahlen mit 28 Dezimalstellen gilt der Bereich
+/-7,9228162514264337593543950335. Die kleinste mögliche Zahl ungleich Null ist 0,0000000000000000000000000001.
CInt Integer -32.768 bis 32.767; Nachkommastellen werden gerundet.
CLng Long -2.147.483.648 bis 2.147.483.647; Nachkommastellen werden gerundet.
CSng Single -3,402823E38 bis -1,401298E-45 für negative Werte; 1,401298E-45 bis 3,402823E38 für positive Werte.
Cvar Variant Numerische Werte im Bereich des Typs Double. Nichtnumerische Werte im Bereich des Typs String.
CStr String Rückgabe für CStr hängt vom Argument Ausdruck ab.
Bemerkungen
Wenn das an die Funktion weitergegebene Argument Ausdruck außerhalb des Bereichs des Datentyps liegt, in den es umgewandelt werden soll, tritt eine Fehler auf.
Sie können Ihren Code mit Hilfe der Funktionen zum Umwandeln von Datentypen dokumentieren, um anzuzeigen, daß das Ergebnis einer Operation einen bestimmten, vom Standarddatentyp abweichenden Datentyp haben soll. Mit CCur können Sie zum Beispiel Berechnungen explizit im Währungsformat durchführen, die normalerweise ganzzahlige Werte oder Werte einfacher bzw. doppelter Genauigkeit verwenden würden. Die CCur-Funktion stellt eine Alternative zu Val dar, die international gültige Umwandlungen eines beliebigen Datentyps in einen anderen ermöglicht. So werden zum Beispiel durch die Verwendung von Ccur verschiedene, vom Gebietsschema des Computers abhängige Dezimalzeichen ebenso erkannt wie unterschiedliche Tausendertrennzeichen und Währungseinstellungen.
Wenn die Nachkommastelle genau 0,5 beträgt, wird der Wert mit CInt und CLng immer bis zur nächsten geraden Ganzzahl gerundet. So wird beispielsweise 0,5 zu 0 abgerundet und 1,5 zu 2 aufgerundet. CInt und CLng unterscheiden sich von der Fix- und auch der Int-Funktion, die die Nachkommastellen einer Zahl nicht runden, sondern sie verkürzen. Außerdem entspricht der Rückgabetyp von Fix und Int immer dem Typ des an sie übergebenen Wertes.
Mit der IsDate-Funktion können Sie bestimmen, ob Datum in ein Datum oder eine Uhrzeit umgewandelt werden kann. CDate erkennt sowohl Datumsliterale und Zeitliterale als auch bestimmte Zahlen, die im zulässigen Bereich für ein Datum liegen. Beim Umwandeln einer Zahl in ein Datumsformat wird der ganzzahlige Teil für das Datum verwendet. Nachkommastellen der Zahl werden in eine Zeitangabe (beginnend bei 0:00) umgewandelt.
CDate erkennt alle Datumsformate, die im Gebietsschema des Systems ausgewählt werden können. Die richtige Reihenfolge von Tag, Monat und Jahr kann nicht immer bestimmt werden, wenn sich das Datumsformat von den im Gebietsschema verfügbaren Formaten unterscheidet. Außerdem wird ein langes Datumsformat nicht erkannt, wenn es auch eine Zeichenfolge für den Wochentag enthält.

Die CVDate-Funktion ist ebenfalls aus Gründen der Kompatibilität zu früheren Visual Basic-Versionen verfügbar. Die Syntax der CVDate-Funktion entspricht genau der Syntax der CDate-Funktion. Der einzige Unterschied besteht darin, daß CVDate nicht den Datentyp Date liefert, sondern den Datentyp Variant mit dem Untertyp Date. Aufgrund des integrierten Datentyps Date wird CVDate nicht mehr benötigt. Dasselbe Ergebnis können Sie auch erreichen, indem Sie einen Ausdruck in den Datentyp Date umwandeln und ihn dann einer Variablen vom Typ Variant zuweisen. Mit demselben Verfahren können auch alle anderen integrierten Datentypen in die entsprechenden Untertypen des Datentyps Variant umgewandelt werden.
Anmerkung Die CDec-Funktion gibt keinen diskreten Datentyp zurück; statt dessen wird immer ein Variant zurückgegeben, dessen Wert in einen Dezimal-Untertyp umgewandelt wird.
---------------
Was brauchst du mehr :-)
Gruss Rainer
Anzeige
AW: ComboBox soll Datum im richtigen Format zeigen
16.12.2004 23:29:37
Michael
Kurz Ergänzung noch.
In einer Prozedur vor dem Start des USERFORM definiere ich die die RowSources:
F6.CLASS2.RowSource = "=TOBEBILLED!C2:C" & c2
F6.DATE2.RowSource = "=TOBEBILLED!A2:A" & c2
F6.LFN.RowSource = "=TOBEBILLED!B2:B" & c2
F6.CLASSID2.RowSource = "=TOBEBILLED!D2:D" & c2
F6.CUSTOMERID2.RowSource = "=TOBEBILLED!E2:E" & c2
F6.CUSTOMER2.RowSource = "=TOBEBILLED!F2:F" & c2
F6.CITY3.RowSource = "=TOBEBILLED!G2:G" & c2
F6.NOL3.RowSource = "=TOBEBILLED!H2:H" & c2
F6.EURO2.RowSource = "=TOBEBILLED!I2:I" & c2
F6.MILES2.RowSource = "=TOBEBILLED!N2:N" & c2
F6.MILEE2.RowSource = "=TOBEBILLED!O2:O" & c2
Im Form wird aus der ComboBox DATE2 der ListIndex zugewiesen:
o = F6.DATE2.ListIndex
F6.CLASS2.ListIndex = o
F6.LFN.ListIndex = o
F6.CLASSID2.ListIndex = o
F6.CUSTOMERID2.ListIndex = o
F6.CUSTOMER2.ListIndex = o
F6.CITY3.ListIndex = o
F6.NOL3.ListIndex = o
F6.EURO2.ListIndex = o
F6.MILES2.ListIndex = o
F6.MILEE2.ListIndex = o
All das funktioniert wie gewohnt einwandfrei. Nur dieses verflixte Datum wird lediglich im DropDownDialog angezeigt. Wenn ich es auswähle, dann zeigt es mir eine Zahl wie z.B. 34578. Was muss ich tun (und wo im Code), um die Datumsanzeige zu erzwingen?
Gruß
Michael
Anzeige
AW: ComboBox soll Datum im richtigen Format zeigen
Heiko
Moin Michael,
versuche es mal so.

Private Sub ComboBox1_Change()
ComboBox1.Value = CDate(ComboBox1.Value)
End Sub

Gruß Heiko
PS: Das Forum lebt auch von den Rückmeldungen der Frager!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige