Office: (Office 2013) Problem bei Datum YYYY/MM/DD

Helfe beim Thema Problem bei Datum YYYY/MM/DD in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe eine .xlsx Datei und habe mir ein vbs Skript geschrieben, welches die Datei in csv umwandelt, kommas durch semikolons ersetzt, die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Leeum, 26. April 2015.

  1. Problem bei Datum YYYY/MM/DD


    Hallo, ich habe eine .xlsx Datei und habe mir ein vbs Skript geschrieben, welches die Datei in csv umwandelt, kommas durch semikolons ersetzt, die ersten beiden Zeilen in der Datei löscht und das Datum nach YYYY/MM/DD hh:mm:ss umwandelt. Leider funktioniert das Datumsformat nicht. Öffne ich die csv Datei nach dem umwandeln, dann kann ich per Feld formatieren das Datum ändern. Aber per Skript bekomme ich es einfach nicht hin. Hat vl jemand einen Tipp für mich?

    Skript und xlsx habe ich angehängt.


    Das Skript last sich in der cmd aufrufen. xlstocsvconverter.vbs quelldatei zieldatei

    :)
     
  2. keiner eine Ahnung?
     
  3. Hallo,

    wenn ich's aufzeichne komme ich auf:
    Code:
    Teste mal...
     
  4. Problem bei Datum YYYY/MM/DD

    Hab ich auch schon versucht. Hat leider nicht funktioniert
     
  5. Würd's ja auch mal testen um zu sehen was raus kommt,
    aber bei mir funktioniert Deine angehängte vbs-Datei nicht *frown.gif*
     
  6. Hallo Leeum,

    sicher stammt die xlsx-Datei aus einem Datenlogger oder einem anderen Import.
    Excel hat dabei schon immer ein Problem, hier die 'Datumswerte' auch als Datumsformat zu erkennen. 1 Beispiel:
    - in Zelle 'P4' steht 02/04/2015 12:59:52
    - dass sieht aus wie ein Datum ist aber keines
    - wäre es 1 Datum, würde in der schmalen Spalte 'P' eine Reihe von '#'-Zeichen zu sehen sein
    - die Funktion =ISTZAHL(P4) ergibt 'FALSCH' sollte aber 'WAHR' ergeben
    - schreibe in 'P6' die Formel =HEUTE() und teste mit =ISTZAHL(P6)
    - hier kommt 'WAHR' heraus
    - auch das eingestellte Format für Zelle 'P4' mit TT.MM.JJJJ hh\:mm\:ss sieht nicht vertrauenserweckend aus denn es sollte so sein TT.MM.JJJJ hh:mm:ss

    Du mußt also erst mal die Exceldatei bereinigen, dann klappt auch der von Uwi63 vorgeschlagene Tipp: .NumberFormat = "yyyy\/mm\/dd hh:mm:ss"

    Wie das in der vbs-Datei gemacht wird, siehe Beispiel!

    Begründung: http://www.ms-office-forum.net/forum...d.php?t=314993

    Gruß von Luschi
    aus klein-Paris
     
    Luschi, 29. April 2015
    #6
  7. Hallo,
    danke für die Antworten. Ja die Daten stamen aus einem Import. Ich hab dein Beispiel getestet. Danach steht jedoch überall 1900/01/00 00:00:00 in den Zellen und das ursprüngliche Datum ist gelöscht. Da ich die Daten aber in eine Datenbank laden möchte, ist es wichtig, dass das Datum erhalten bleibt. Gibt es nun dafür noch eine Möglichkeit?

    Was macht den dieser Befehl? PasteSpecial -4104, 4, false, false?
    Ich nehme an er kopiert sich erst mit copy die spalte und fügt diese dann wieder ein. Aber wieso -4104, 4, false, false?

    Danke schonmal.
     
  8. Problem bei Datum YYYY/MM/DD

    Hallo Leeum,

    das ist ja erst mal nur ein Beispiel mit Demodaten. Man muß den Übertragungsbereich der Excel-Daten in die csv-Datei natürlich eingrenzen;
    z.Z. geht der Bereich von Zeile 4:6000. Die 6000 muß duch einen Vba-Befehl auf die tatsächliche Zeilenzahl ersetzt werden.
    Mal zur Erklärung der folgenden Befehle:
    'in die Zelle 'P1' wird die Zahl 1 geschrieben
    objWSheet.range("P1").Value=1

    'kopieren dieses Wertes in die Zwischenablage
    objWSheet.range("P1").Copy

    'alle Werte des Bereiches 'P4:P6000' werden mit dem Inhalt der Zwischenablage multipliziert
    'erst dadurch wird das 'Text'-Datum der Zellen zu einem richtigen numerischen Wert
    'welches man dann auch in ein korrektes Datumsformat zur Anzeige bringen kann
    'wegen der Parameter siehe: https://msdn.microsoft.com/de-de/lib...ice.15%29.aspx
    'in vbs kann man keine excelinterne Konstanten verwenden sondern den direkten (i.d.R. numerischen) Wert
    objWSheet.range("P4:P6000").PasteSpecial -4104, 4, false, false

    'Umformatieren des Bereichen in das Format für die csv-Datei
    'Da das '/'-Zeichen in der Formatierung eine Sonderrolle hat, muß es maskiert werden durch den BackShlash (\) - deshalb \/ (ist also kein Vogel-V)
    objWSheet.range("P4:P6000").NumberFormat = "yyyy\/MM\/dd hh:mm:ss"

    Für die Zeile 4 wird also das gewünschte Datumsformat für entsprechenden Spalten geschrieben. Für die restlichen
    gewünschten Zeilen ist lediglich die o.g. Anpassung zu realisieren (wie weit geht der Zeilenbereich?).

    Wie Du sicher in der vbs-Datei gesehen hast, habe ich zusätzliche Objektvariablen erzeugt. Das ist einfach erforderlich, wenn man sauber einen Programmfluß erzeugen will.
    Laß Dich nicht von den 'Excel-Vba/Vbs-Minimalisten' beirren, die da 'Land auf Land ab' pos*tu*lie*ren, daß man sowas viel kürzer mit weniger Programmzeilen machen kann.

    Gruß von Luschi
    aus klein-Paris
     
    Luschi, 29. April 2015
    #8
  9. Hallo, also der Zeilenbereich ist jeden Monat unterschiedlich zwischen 12000 und 16000 Zeilen. Ich habe das Skript nun mit der Zeilenanzahl ergänzt objWSheet.range("P4:P12000").PasteSpecial -4104, 4, false, false
    erhalte aber trotzdem in jedem Feld nur 1900/01/00 00:00:00. Hab ich hier irgendwo einen Denkfehler?
     
  10. Hallo Hallo Leeum,

    stell doch mal eine xlsx-Datei bereit, in der mehr als eine Zeile (Zeile 4) mit Daten gefüllt ist. Vielleicht kannst Du auch noch sagen, wie die Daten in die Exceldatei transferiert werden.

    Gruß von Luschi
    aus klein-Paris
     
  11. Hallo, also in Excel wird das Datum immernoch falsch angezeigt, im Editor jedoch richtig.
    Noch eine Frage. Was muss ich angeben, damit alle Zeilen deer Spalte multipliziert warden? Da ich jeden Monat unterschiedlich viele Daten hab, möchte ich dass das Programm automatisch die Zeilenanzahl erkennt.

    objWSheet.range("P4:P??").PasteSpecial -4104, 4, false, false
    objWSheet.range("P4:P??").NumberFormat = "yyyy\/MM\/dd hh:mm:ss"

    Da wo die Fragezeichen stehen hätte ich gerne eine Funktion die alle Zeilen nach unten nimmt, und nicht einen festen Wert.
     
  12. Hajo_Zi
    Hajo_Zi Erfahrener User
    LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 16)), Cells(Rows.Count, 16).End(xlUp).Row, Rows.Count)
     
    Hajo_Zi, 30. April 2015
    #12
  13. Problem bei Datum YYYY/MM/DD

    Verstehe ich das richtig? LoLetzte wird als Variable deklariert und ich schreib das dann so hin?

    objWSheet.range("P4:LoLetzte").PasteSpecial -4104, 4, false, false
    objWSheet.range("P4:LoLetzte").NumberFormat = "yyyy\/MM\/dd hh:mm:ss"
     
  14. Hajo_Zi
    Hajo_Zi Erfahrener User
    Nein.
    ("P4:P" & LoLetzte)
    Da es ja nur die Zeile ist.
     
    Hajo_Zi, 30. April 2015
    #14
  15. Dann bekomme ich in dieser Zeile( LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 16)), Cells(Rows.Count, 16).End(xlUp).Row, Rows.Count) ) den Fehler: Objekt erforderlich: Rows
     
Thema:

Problem bei Datum YYYY/MM/DD

Die Seite wird geladen...
  1. Problem bei Datum YYYY/MM/DD - Similar Threads - Problem Datum YYYY

  2. Problem mit Diagramm und Datum

    in Microsoft Excel Hilfe
    Problem mit Diagramm und Datum: Hallo Zusammen, anbei eine Beispieldatei. bekomme es nicht hin das im Diagramm in der Horizontalen Beschriftung wo jetzt 1 bis 31 steht,das Datum wie in den Zellen B37:AF37 angezeigt wird. Und...
  3. Problem mit Bedingter Formatierung bei Datum

    in Microsoft Excel Hilfe
    Problem mit Bedingter Formatierung bei Datum: Hallo! Ich habe bei Excel 2106 (bzw. 365) folgendes Problem: Ich habe in Spalte B ein Datum. In Spalte I wird nur ausgehend von diesem Datum ein Haltbarkeitsdatum berechnet mit folgender...
  4. Excel VBA suche Problem bei Datum (find Methode)

    in Microsoft Excel Hilfe
    Excel VBA suche Problem bei Datum (find Methode): Hallo zusammen! Ich bin heute auf ein Thema gestossen das mich ehrlich gesagt an den Rand der Verzweiflung führt! Ich beabsichtige ein Datum in einer Zeile/ Spalte zu finden, um dann mit der...
  5. Wenn-Dann mit Datum-Problem

    in Microsoft Excel Hilfe
    Wenn-Dann mit Datum-Problem: Ich weiß es funktioniert irgendwie, aber ich weiß nicht wie... gruml. Ich habe eine Liste, in der werden Verkäufe von Waren erfasst. Sprich ich habe ein Datum und in einem weiteren Feld...
  6. Problem mit der Erstellung einer Tabelle mit Datum und Monat

    in Microsoft Excel Hilfe
    Problem mit der Erstellung einer Tabelle mit Datum und Monat: Hallo liebe Community, das hier ist mein erstes Post und leider schon eine Anfrage an euch, habe sehr positive Sachen über euch gehört, ich hoffe das Ihr mir weiterhelfen könnt. So... Habe...
  7. Kleines Datum-Problem

    in Microsoft Excel Hilfe
    Kleines Datum-Problem: Hallo zusammen Habe folgende Problem: In Spalte A stehen Datumangaben in Form zB 10.1.2008. Ich möchte nun berechnen, wieviel Zellen in Spalte A das Jahr 2009 und die Spalte P ausgefüllt...
  8. Datum / Oder Problem

    in Microsoft Excel Hilfe
    Datum / Oder Problem: Hallo Forum, ich bekomme es gerade einfach nicht gebacken... 5 Datumseinträge sollen verglichen werden. Ist einer der Einträge älter als 1.1.2010 soll "Kaufen" erscheinen, ansonsten "nein"....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden