Frage

Ich habe eine VB-Anwendung, die Daten extrahiert und erstellt 3 CSV-Dateien (a.csv, b.csv, c.csv). Dann benutze ich eine andere Excel-Tabelle (import.xls) alle Daten aus der oben CSV-Dateien in diesem Blatt zu importieren.

import.xls Datei hat ein Makro, das die CSV-Dateien nacheinander und kopiert die Daten öffnet sich. Das Problem, das ich bin vor ist die Daten in CSV-Dateien als mm / tt / gespeichert werden und diese kopiert wird in Bezug auf die Excel-Tabelle ist. Aber ich mag das Datum in tt / mm / yyy Format.

Wenn ich öffne eine der CSV-Dateien manuell die Daten im richtigen Format (mm / tt /) angezeigt werden. Jede Idee, wie kann ich dieses Problem lösen?

War es hilfreich?

Lösung

Sie können das Format VBA-Funktion:

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

Das wird formatieren Sie es, wie immer Sie möchten.

Für eine permanant Lösung, versuchen die regionalen Einstellungen in Windows selbst zu ändern, Excel verwendet diese für die Datumsformatierung.

Start -> Einstellungen -> Systemsteuerung -> Ländereinstellungen.

Stellen Sie sicher, dass die Sprache eingestellt ist, was angemessen ist und dass die Datumseinstellungen sind, wie Sie sie sein

wollen

Andere Tipps

Als ich in dieses Problem ich in der Regel die Daten als yyyy-mm-dd schreiben, die Excel eindeutig interpretieren werden.

Zunächst werden die anderen Antworten sind alle gut, aber Theres etwas mehr Informationen, die Sie nützlich finden

Eine CSV-Datei nur Text enthält. Das ist die Daten nicht in dem Datumsformat, sondern in einem Textformat. Also, wenn Sie eine CSV-Datei in Excel öffnen, Excel standardmäßig interpretiert, dass die Daten für Sie. Es muss nicht. Sie könnten es erzwingen, es als Text zu verlassen, oder, wie von Mark erwähnt können Sie Code in das Importmakro hinzufügen, die es für Sie verändert. Wenn Sie einen automatisierten Prozess wollen, dann ist dies die beste Lösung. Fügen Sie einfach den Code in VBA auf das Makro, das das gewünschte Datumsformat auf die Spalte mit den aktuellen Daten gilt. Alternativ können Sie dies manuell tun, nachdem die Datei geöffnet ist und die Daten durch die Auswahl der Spalte selbst und chancing das Format eingefügt worden. Sie können Zahlenformate (wählen custom) anpassen und es dann selbst aufzuschreiben. ZB tt / mm / jjjj.

Ich hatte ein ähnliches Problem und löste es so, es im Wesentlichen der ‚alle der oben genannten‘ Option ist

  1. Mit format(date,'dd-mmm-yyyy') konvertieren Sie das Datum auf das 2-3-4-Format e.g.01-aug-2008 keine Möglichkeit, einen Computer Fehler 01-August für 08-Januar: -)
  2. Da dieses Kopieren in Excel automatisch kehrt es zurück in die Datum / Zeit-Format, konvertieren Sie das Ergebnis in einen String von cstr auf die Verwendung von Funktion in 1
  3. Formatieren Sie die Zellen, in denen das Datum wird als Text kopiert (wenn Sie nicht, tun thickheaded als Excel ist, wird es konvertiert es zurück zu Datum / Uhrzeit wieder
  4. Speichern Sie das Blatt als csv-Datei und offen im Notizblock zu bestätigen hat arbeitete

Einige Leute können sagen, es ist übertrieben, aber besser auf der sicheren Seite, als wenn jetzt ein Benutzer rufen Sie mich an ein Jahr aus und sagt mir, es ist etwas zu tun, seltsam mit dem Datum des

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top