Avatar billede liljenholt Nybegynder
27. oktober 2006 - 11:15 Der er 3 kommentarer og
1 løsning

Dato ved makro indlæst kommasepareret (.csv) fil

Jeg modtager dagligt en kommasepareret fil (.csv format) med en liste over salg på dato 1 og hvornår pengene er indsat på bankkontoen, dato 2. Dog er der et problem med datoen (igen, at dømme efter dette forum). Hvis der fx sker et salg, dato 1, d.25. oktober 2006, så er pengene på kontoen på dato 2, 2. november 2006. Både dato 1 og dato 2 fremkommer i samme kolonne. Jeg har behov for at dataene bearbejdes i Excel og har lavet en lang makro til dette, således at det sker automatisk. Dog kommer der et problem når jeg i denne del af makroen:

Windows("Kommasep_Advisering.csv").Activate
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
        ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1)), _
        TrailingMinusNumbers:=True
    Cells.Select
    Selection.Copy
    Windows("Conversion.xls").Activate
    Sheets("Text").Select
    ActiveSheet.Paste


Ændrer filen via Text to Columns. Datoerne kommer ind i 2. kolonne. Men ved ovennævnte eksempel så kommer dato 1, rigtigt ind som 25-10-2006 men dato 2 kommer ind som 11-2-2006, altså 11. februar. Dette problem eksisterer hele tiden så længe at dagens dato er >13 – hvilket for mig er logisk nok til hvorfor problemet opstår….men ikke nok til at jeg har kunnet finde løsningen.

Jeg har også prøvet at optage en makro igen hvor jeg i forbindelse Text To Columns i step 3 markerer kolonne 2 og angiver at formatet skal være Date => DMY for at omgå det – men selve makroen ser nøjagtigt ud som den indsatte ovenfor hvor jeg ikke havde angivet det.

Når jeg gør det manuelt kommer dato 2 rigtigt frem som 2-11-2006. Det gør den også når jeg optager makroer. Men når samme makro afspilles så går det alligevel galt.

Jeg har læst på mange spørgsmål vedrørende dato men har ikke fundet noget jeg kunne overføre. Der var dog et lignende spørgsmål fra en hvor svaret var at ændre i Array, så det har jeg også prøvet ved at rette i Array(2, 1)  så 1 blev ændret til 2, 4 og 8 – men desværre samme resultat.
Avatar billede bak Forsker
28. oktober 2006 - 15:33 #1
Prøv lige at sende mig sådan en tekstfil.
Der er noget ved den der ikke stemmer helt.

excel @ tbdl . dk
Avatar billede liljenholt Nybegynder
29. oktober 2006 - 18:07 #2
Jeg har sendt dig en mail - spændende hvad du finder ud af.
Avatar billede bak Forsker
31. oktober 2006 - 09:08 #3
En løsning kunne være at importere data via Data/Importer eksterne data/Importerer data og den vej rundt hente data fra csv filen. Så vil datoerne blive korrekte og man kan meget nemt opdatere sine data. (højreklik i tabellen og vælg Opdater data)
Avatar billede liljenholt Nybegynder
31. oktober 2006 - 09:31 #4
Det fungerede netop efter hensigten, og kan også gøres med en makro.

Tak for god hjælp bak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester