CSV datoformat

stemmer
2

Jeg har en VB program som trekker ut data og skaper 3 CSV-filer (a.csv, b.csv, c.csv). Så bruker jeg en annen Excel-regneark (import.xls) for å importere alle data fra de ovennevnte CSV-filer i dette arket.

import.xls fil har en makro som åpner CSV-filer en etter en og kopierer dataene. Problemet jeg møter er datoene i CSV-filene er lagret som mm / dd / åååå, og dette er kopiert som er i Excel-arket. Men jeg vil at datoen dd / mm / yyy format.

Når jeg åpner noen av CSV-filer manuelt datoene vises i riktig format (mm / dd / åååå). Noen ide hvordan jeg kan løse dette problemet?

Publisert på 15/10/2008 klokken 03:37
kilden bruker
På andre språk...                            


4 svar

stemmer
14

Når jeg kjører inn i dette problemet jeg skriver vanligvis ut datoene som åååå-mm-dd som Excel vil tolke entydig.

Svarte 15/10/2008 kl. 03:41
kilden bruker

stemmer
8

Du kan bruke Format VBA-funksjonen:

Format(DateText, "dd/mm/yyyy")

Det vil formatere den hvor noen gang du vil.

For en mer permanent løsning, prøv å endre dine regionale innstillinger i Windows selv, bruker Excel dette for dato formatering.

Start -> Innstillinger -> Kontrollpanel -> Regionale innstillinger.

Sørg for at språket er satt til hva som er hensiktsmessig og at datoinnstillinger er som du vil de skal være

Svarte 15/10/2008 kl. 03:42
kilden bruker

stemmer
1

Først av alle de andre svarene er alt bra, men theres litt mer informasjon kan du finne nyttig

En CSV-filen inneholder bare tekst. Det er dataene ikke i datoformat, men i et tekstformat. Så når du åpner en CSV-fil i Excel, Excel som standard tolker disse dataene for deg. Det trenger ikke å. Du kan tvinge den til å la den som tekst, eller som nevnt av Mark kan du legge koden inn i import makro som endrer det for deg. Hvis du ønsker en automatisert prosess så er dette den beste løsningen. Bare legg inn koden i VBA til makro som gjelder ønsket dato format til kolonnen med oppdaterte data. Alternativt kan du gjøre dette manuelt etter at filen er åpen og dataene er limt inn ved å velge kolonnen selv og chancing formatet. Du kan tilpasse antall formater (velg egendefinert) og deretter skrive det opp selv. Eg dd / mm / åååå.

Svarte 15/10/2008 kl. 04:44
kilden bruker

stemmer
0

Jeg hadde et lignende problem og løste det på denne måten, i hovedsak det er "alle de ovennevnte alternativet

  1. Med format(date,'dd-mmm-yyyy') konvertere datoen til 2-3-4 format eg01-august-2008, ingen måte en datafeil 01-august for 08-januar :-)
  2. Siden kopiere dette i excel automatisk går den tilbake til dato / klokkeslett format, konvertere resultatet til en streng ved hjelp cstrav funksjonen i en
  3. Formater cellene hvor datoen er kopiert som tekst (hvis du ikke gjør det, thickheaded som excel er, det vil konvertere det tilbake til dato / tid igjen
  4. Lagre ført som en csv fil og åpne i notepad for å bekrefte det har fungert

Noen mennesker kan si det er overkill, men bedre å være på den sikre siden, enn å ha en bruker kaller meg et år fra nå og fortelle meg det gjør noe rart med daten

Svarte 05/11/2008 kl. 10:25
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more