Datum und Zeiten per VBA in Zelle

17/01/2009 - 17:40 von Uli Schoch | Report spam
Hallo
Ich habe ein VBA-Progràmmli geschrieben, welches Textfiels einliest. In den
Textzeilen können Text, Zahlen, Datumwerte und Zeitwerte stehen. Ich lese
diese so ein:
Cells(z, sp).Value = ZellStr

In ZellStr steht die aus der Datei gelesene Zeile.

Text und Zahlen sind kein Problem. Die Zeiten auch nicht, wenn z.B. 18:09 in
der Zeile steht, wird das auch so in der Zelle angezeigt. Wenn ich mit
Format/Zelle diese als Zahl formatiere, wird korrekterweise 0.756 angezeigt.
Auch mit Sekunden 18:09:04 gehts.
Beim Datum ist es aber anders. Wenn z.B. 17.08.2008 aus dem File gelesen
wird, steht das so in der Zelle, aber ich kanns mit Teufels Gewalt, sprich
Forma/Zelle nicht in eine Zahl umwandeln, müsste 39677 geben. Wenn ein
Datum die Form 17.08.08 hat, erhàlt die Zelle oben links eine grüne Ecke.
Klicke ich in die Zelle so kann ich Menu öffnen, wo ich das Jahr des Datums
in 1908 oder 2008 umwandeln kann. Wenn ich das gemacht habe, kann ich die
Zelle auch als Zahl formatieren. Ich möchte aber, dass Datumwerte immer in
eine Zahl umgewandelt werden können, vorallem dann, wenn das Jahr 4-stellig
ist.

Wie geht das?

Gruss
Uli
 

Lesen sie die antworten

#1 Matthias Hübner
17/01/2009 - 19:32 | Warnen spam
Salut Uli,

Uli Schoch wrote:

Hallo
Ich habe ein VBA-Progràmmli geschrieben, welches Textfiels einliest. In
den Textzeilen können Text, Zahlen, Datumwerte und Zeitwerte stehen. Ich
lese diese so ein:
Cells(z, sp).Value = ZellStr

In ZellStr steht die aus der Datei gelesene Zeile.



Ich denke, da steht der Zellwert, denn mit cells(zeile,spalte).Value = ...
weist du der Zelle 1 Wert zu.

Ich würde es wie folgt probieren:

Dim var As Variant
var = ZellStr

jetzt kannst du var untersuchen, welcher Datentyp drinnesteht und eine
entsprechende Behandlung auslösen:
Select case vartype(var)
case vbDate
cells(zeile,spalte).Value = var
cells(zeile,spalte).Format = ...
...

HTH

Grüße
Matthias

Ähnliche fragen