VBA dátumformátum probléma
2015-08-01T16:59:08+02:00
2015-08-02T16:16:28+02:00
2022-08-18T08:30:34+02:00
Niko
Sziasztok !

2007-es VBA-val olvastatok be egy rakás .CSV állományt, amiben dátumok is vannak.
Az a gondom, hogy a cellákban ezek nem dátumként jelennek meg, hanem szövegként, pedig az oszlopot is leformázom, amibe beteszem és az adatnak is megadom a formátumát.

Ez főképp akkor látszik, ha szűrőt teszek rá:

http://kepfeltoltes.hu/150801/datumszoveg_www.kepfeltoltes.hu_.jpg

A kód:

Private Sub datumkiir() datum1$ = "2012.04.01" datum2$ = "2013.05.01" datum3$ = "2014.06.01" Sheets("Munka1").Columns("A:A").NumberFormat = "yyyy/mm/dd" Sheets("Munka1").Cells(1, 1).Value = "dátum" Sheets("Munka1").Cells(2, 1).Value = Format(datum1$, "yyyy.mm.dd") Sheets("Munka1").Cells(3, 1).Value = Format(datum2$, "yyyy.mm.dd") Sheets("Munka1").Cells(4, 1).Value = Format(datum3$, "yyyy.mm.dd") End Sub
Meg tudjátok mondani, hogy miként érhető el, hogy tényleges dátum legyen a szövegként beolvasott adatokból?

Előre is köszönöm!
Mutasd a teljes hozzászólást!
Szia!

Szövegből dátumot a datevalue függvénnyel kaphatsz - ez elég sok dátumformátumú szöveget felismer.

Ha mégsem menne, akkor dateserial(left(dátumszöveg,4),mid(dátumszöveg,6,2),right(dátumszöveg,2)) megoldás is működhet - itt arra kell figyelni, hogy a hónap és nap mindig két számjegyen legyen.

Üdv.
Mutasd a teljes hozzászólást!

  • Ha jól emlékszem,
    1; Format(DateSerial(Year:=2012, Month:=6, Day:=1), "mm-dd-yyyy") 2; Format(DateSerial(datum$1, "mm-dd-yyyy")

    (LibreCalc-ban 'asszem így működött)
    Mutasd a teljes hozzászólást!
  • Szia!

    Szövegből dátumot a datevalue függvénnyel kaphatsz - ez elég sok dátumformátumú szöveget felismer.

    Ha mégsem menne, akkor dateserial(left(dátumszöveg,4),mid(dátumszöveg,6,2),right(dátumszöveg,2)) megoldás is működhet - itt arra kell figyelni, hogy a hónap és nap mindig két számjegyen legyen.

    Üdv.
    Mutasd a teljes hozzászólást!
abcd