Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1872to1876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
CSV import "echtes"Datum
11.03.2022 10:07:01
Dagmar
Einen schönen guten Morgen in die Runde.........
zunächst vorweg, ich "bastle" mir meine VBACodes immer irgendwie so zusammen bis es passt, learning by doing.... ob das dann der "richtige" Weg/Code ist, wage ich an der einen oder anderen Stelle sehr zu bezweifeln. Bisher ging immer alles gut, aber jetzt bin ich an einer Stelle, an der ich einfach nicht weiter komme. Vielleicht habt Ihr einen Tipp.....
Ich möchte fortlaufend .csv Dateien importieren (Daten aus einem SolarModul (Ertrag/Verbrauch/Fehler;........ , die Dezimazahlen sind mit Punkt geschrieben). Das SolarModul exportiert jeweils die letzten 30 Tage.
Ich kann über einen CommandButton die CSV-Dateien importieren, die Daten werden untereinander in die Tabelle eingetragen und doppelte Datensätze werden entfernt. Die mit Punkt geschriebenen Zahlen werden nach dem Importieren mit Komma geschrieben, so dass sie auch wirklich eine echte Zahl sind. So weit so gut....... das funktioniert.
Mein Problem ist das Datum..... es wird nicht als echtes Datum ausgegeben.
Über einen zweiten Button (soll eigentlich später in den ersten integriert werden) wird das Datum nun in ein echtes Datum konvertiert und sortiert. Auch das funktioniert erst mal gut. Das Problem taucht an der Stelle auf, an der bereits konvertierte DatumAngaben in der Tabelle enthalten sind, ich also eine weitere CSV Datei importiere und diese konvertieren möchte. Diese "zweite" Konvertierung das bereits vorhandene "echte" Datum nochmal umschreibt und so falsche Daten entstehen..... zB Tage, die in der Zukunft liegen..... das ist ungünstig.......
und nun habe ich verschiedene Wege versucht, das Problem zu umgehen, aber ich komme auf keine gute/richtige Formulierung, die mich zum Ziel bringt.....
meine Ansätze waren:
Die Daten bereits beim Importieren in ein Datum konvertieren
die Datensätze ignorieren, die bereits ein echtes Datum sind
nur die Datensätze berücksichtigen, die als Text geschrieben sind
die Entscheidung Zeile für Zeile über eine LoopFunktion laufen lassen......
aber ich finde keinen passenden Code und der MakroRecorder bringt mich leider auch nicht weiter.....
Habt Ihr vielleicht eine Idee oder eine Lösung? Habe die ExcelDatei und verschiedene txt Dateien angefügt
Herzlichen Dank im Voraus und einen hübschen Tag
Dagmar
https://www.herber.de/bbs/user/151708.xlsm
https://www.herber.de/bbs/user/151710.txt
https://www.herber.de/bbs/user/151711.txt
https://www.herber.de/bbs/user/151711.txt

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV import "echtes"Datum
11.03.2022 10:22:32
Daniel
HI
nutze die Importfunktion für das Einlesen der CSV-Daten (Daten - Externe Daten - Aus Text, muss in neueren Excelversionen ggf erst über Extras - Optionen - Daten - Legacy-Assistenten aktiviert werden)
hier ist Dateiimport und Text in Spalten kombiniert, dh du kannst angeben das das Semikolon das Trennzeichen ist, der Punkt das Dezimalzeichen und die Anordnung von Tag-Monat-Jahr im Datum.
Gruß Daniel
AW: CSV import "echtes"Datum
11.03.2022 10:46:07
Dagmar
Danke Daniel.....
...ja.... theoretisch funktioniert das.
Aber dadurch werden die Daten jeweils in einem neuen Tabellenblatt geöffnet und nicht in einem bestehenden Blatt untereinander weg importiert. Ich hätte sie gerne in einem Blatt und dass es möglichst komfortabel ist.
mein Ziel wäre: ich drücke auf einen Button, wähle die zu importierende Datei aus und mit Bestätigung startet eine Automatik, die die Daten in ein bestehendes Tabellenblatt importiert, doppelte Datensätze löscht und alle Datensätze nach Datum sortiert.
Wenn ich über "Import Text/CSV" gehe..... muss ich immer noch alle Parameter einstellen, laden, die Tabellen zusammenfügen...... das möchte ich eigentlich gerne automatisieren.......
dennoch DANKE! vielleicht komme ich da auf den richtigen Ast, wenn ich das als Makro aufnehme?
Anzeige
AW: CSV import "echtes"Datum
11.03.2022 14:43:51
Daniel
naja, das mit dem Import kannst du dir doch per VBA programmieren (der Recorder ist dein Freund) und die Einstellungen im Code hinterlegen.
dann muss du nur noch über die einzelnen Importe gehen und die kopieren und in einem Blatt untereinander einfügen. Auch das ist als VBA-Code kein Hexenwerk und nicht schwieriger das das, was deine Beispieldatei an Code enthält.
Gruß Daniel
AW: CSV import "echtes"Datum
15.03.2022 10:18:50
Dagmar
Hallo Daniel....... das hört sich ja eigentlich gar nicht so kompliziert an..... ich nun wieder......wenn ich mal einen Augenblick Zeit habe, werde ich mich da noch mal in Ruhe dran setzen und eine saubere Lösung suchen....... ich schau erstmal mit der Idee von Firmus, ob die ganze Geschichte überhaupt Sinn macht....... Danke Dir und liebe Grüße.....
Anzeige
AW: CSV import "echtes"Datum
11.03.2022 11:21:03
Oberschlumpf
Hi Dagmar
bzgl Daniels Idee: auch DAS Ganze könntest du mit dem Recorder aufzeichnen, aber dann MUSST du den Code natürlich so anpassen, dass eben alles Importierte immer in deiner "Wunschtabelle" landet.
Alternativ zu Daniels Idee könntest du nach Durchlauf deines Codes bzgl der Datumsspalte B auch so vorgehen:

Dim lloRow As Long
For lloRow = 10 To Cells(Rows.Count, 1).End(xlUp).Row
Range("B" & lloRow).Value = Format(CDate(Range("B" & lloRow).Value, "dd.mm.yyyy")
Next
diese 4 Codezeilen würden Zeile für Zeile in Spalte B jeden Eintrag mit "nur" 2stelliger Jahreszahl eine 4stellige J'zahl machen.
So zumindest mein Gedanke :-) Getestet hab ich es nicht, weil gerad nich so viel Zeit.
Grundsätzlich aber find ich Daniels Idee besser, weil sauberer.
Konnte etwas helfen?
Ciao
Thorsten
Anzeige
AW: CSV import "echtes"Datum
15.03.2022 10:21:48
Dagmar
Hallo Thorsten....... Danke für Deine Mühe..... das hatte ich ausprobiert, brachte mich aber nicht wirklich zum Ziel..... ich versuche es erst mal mit der Idee von Firmus...... Danke....
AW: CSV import "echtes"Datum
11.03.2022 19:47:20
Dagmar
Danke für Eure Antworten..... ich probiere das aus, sobald ich am Rechner bin...... qurd sicher morgen werden....
Euch einen hübschen Abend....
LG Dagmar
AW: CSV import "echtes"Datum
12.03.2022 11:04:43
Firmus
Hallo Dagmar,
schau dir diese Änderungen an. U. U. macht das Makro genau das, das zu tun willst.
https://www.herber.de/bbs/user/151733.xlsm
Ich habe den anschließenden Sort gleich integriert.
Laß mich wissen, ob es passt - mindestens als Ausgangspunkt für weitere Anpassungen.
Gruß,
Firmus
ps: Motiv für die detaillierte Arbeit: Meine Daten kommen aus Brauchwassererhitzung (Vakuumröhren) nicht aus PV. Problemstellung ist nahezu identisch.
Anzeige
AW: CSV import "echtes"Datum
15.03.2022 09:59:41
Dagmar
Hallo Firmus..... Entschuldige bitte, dass ich mich erst jetzt melde..... ich war die letzten Tage leider ausgeschaltet.
WOW.... was für eine Arbeit...... DANKE...... auf die Idee, das Datum als Text zu interpretieren und umzustellen, bin ich gar nicht gekommen...... manchmal kann es so einfach sein! Es ist nahezu perfekt...... das, was ich testen konnte, funktioniert tadellos. Einzig die Zeilen 7-9 werden beim ersten Lesen beschrieben, dann aber nicht weiter berücksichtigt. Ich habe sie jetzt einfach ausgeblendet und dann stören sie ja nicht weiter...... für meine Zwecke würde das so reichen. Kannst Du das für Deine Anlage denn so auch nutzen?
Herzlichen Dank und liebe Grüße
Anzeige
AW: CSV import "echtes"Datum
16.03.2022 21:35:13
Firmus
Hallo Dagmar,
passt für mich bestens. Ich kann es in den Details noch anpassen (20 Jahre Vacuumröhren, 45 Jahre IT) - das sollte klappen.
Hast du noch ein (kleines) Problem mit 7-9 - lass es mich wissen.
LG;
Firmus

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige