Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
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
Inhaltsverzeichnis

Konsolidierung von CSV und Excel Dateien

Konsolidierung von CSV und Excel Dateien
20.06.2019 10:40:39
CSV
Hallo,
ich möchte Daten aus einer variablen Anzahl von gleich aufgebauten Vorgängertabellen (viertelstündliche Werte für 24 Stunden über 7 Spalten) in Excel konsolidieren. Diese werden uns täglich von unserem Energieversorger per Mail zugesandt und müssen von uns vorübergehend mit Excel "aufgehübscht" werden, bis unsere Profisoftware einsatzbereit ist.
Mit dem unten stehenden Code funktioniert es für XLSX-Daten problemlos. Das Ausgangsformat ist aber leider CSV. Hier bekomme ich aber eine Fehlermeldung "Fehler 13/ Typen unverträglich". Kann mir hier jemand helfen, wie ich den Code anpassen muss, damit das auch für CSV funktioniert?

Sub Zusammenführen()
Dim i               As Long
Dim sPfad           As String
Dim sDatei          As String
Dim vFileToOpen     As Variant
Dim lngLZ           As Long
Dim blnÜberschrift  As Boolean
Dim iCalc           As Integer
'vFileToOpen = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*", , , , True)
vFileToOpen = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*, CSV (*.csv*), *. _
cvs*", , , , True)
'vFileToOpen = Application.GetOpenFilename("CSV (*.csv*), *.cvs*", , , , True)
If Not IsArray(vFileToOpen) Then Exit Sub
iCalc = Application.Calculation
On Error GoTo ENDE:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
' löschen Altdaten Anfang
Cells.Select
Selection.ClearContents
Range("A1").Select
' löschen Altdaten Ende
For i = 1 To UBound(vFileToOpen)
sDatei = Dir(vFileToOpen(i))
sPfad = Left(vFileToOpen(i), InStr(vFileToOpen(i), sDatei) - 1)
With Tabelle1.Range("A1")
.Formula = "=LOOKUP(2,1/('" & sPfad & "[" & sDatei & "]Tabelle1'!$A:$A""""),ROW('" _
_
_
& sPfad & "\[" & sDatei & "]Tabelle1'!$A:$A))"
lngLZ = .Value
End With
With Tabelle1
If blnÜberschrift Then
.Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(lngLZ - 1, 7).Formula = _
"='" & sPfad & "[" & sDatei & "]Tabelle1'!A2"
Else
blnÜberschrift = True
.Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(lngLZ, 7).Formula = _
"='" & sPfad & "[" & sDatei & "]Tabelle1'!A1"
End If
End With
Call StatusBalken(Int((i / UBound(vFileToOpen)) * 100))
Next
With Tabelle1.UsedRange
.Copy
.PasteSpecial xlPasteValues
.Rows(1).Delete
End With
ENDE:
Application.EnableEvents = True
Application.Calculation = iCalc
Application.ScreenUpdating = True
If Err Then MsgBox Err.Description, , "Fehler: " & Err
End Sub

Sub StatusBalken(ProzentSatz) ''ProzentSatz = Int((i / 10000) * 100)
Dim Mess, Z, Rest
Static oldStatusBar As Integer
Static blnInit As Boolean
If Not blnInit Then
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
End If
Mess = ""
For Z = 1 To ProzentSatz
Mess = Mess & ChrW(Val("&H25A0"))
Next Z
Rest = 100 - ProzentSatz
For Z = 1 To Rest
Mess = Mess & ChrW(Val("&H25A1"))
Next Z
Application.StatusBar = Mess & " " & ProzentSatz & "%"
If Rest Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar
End If
End Sub


18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Konsolidierung von CSV und Excel Dateien
20.06.2019 13:30:23
CSV
Hallo Göran,
beim automatischen Einlesesn von csv-Dateien in Excel kann viel passieren:
- Werte wie 1.5 werden als Datum erkannt
- formatierte Dezimalzahlen mit Tausender-Kennzeichen als Text behandelt
- korrekte Datumswerte stehen in der Zelle linksbündig
  sind also kein korrektes Datum
- u.u.u
Du solltest also eine csv-Demodatei bereitstellen, wobei die Daten bis zur Unkenntlichkeit
verändert wurden, aber
- Anzahl der Spalten pro Datensatz
- korrekter Datentyp in der Spalte
- Darstellung von Datumswerten sowie
  formatierte Zahlenwerte korrekt erkennbar sind.
Sonst ist alles nur reine Raterei & bringt nicht viel.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Konsolidierung von CSV und Excel Dateien
20.06.2019 13:54:29
CSV
Hallo Luschi, danke für die Rückmeldung:
Hier der funktionierende Excel Datensatz: https://www.herber.de/bbs/user/130507.xlsx
Den nicht funktionierenden csv Datensatz lässt das Forum leider nicht zu. Die Exceldatei lässt sich aber wieder als CSV mit dem gleichen Ergebnis zurückspeichern.
AW: Konsolidierung von CSV und Excel Dateien
20.06.2019 13:58:07
CSV
so, Thread nochmal geöffnet...
AW: Konsolidierung von CSV und Excel Dateien
20.06.2019 15:08:22
CSV
Wo hast du denn den Code her?
Der ist NICHT dafür gedacht, csv-Dateien zu öffnen, sondern mehrere xlsx-Dateien abzuarbeiten.
Da dadurch die vom Code erzeugte Formel einen Fehler erzeugt, kommt die Fehlermeldung. 'NV hat keinen Value.
Anzeige
AW: Konsolidierung von CSV und Excel Dateien
21.06.2019 09:09:33
CSV
Hallo Onur,
den Code hab ich aus einem anderen Forum. Das kam daher, dass ich bei der Recherche davon ausgegangen bin, dass ich Exceldateien konsolidieren muss. Die Anforderung an csv kam erst im Nachhinein.
Wie meine Selbsteinschätzung zeigt, bin ich in der Lage Makros aufzuzeichnen, aber nicht diese zu programmieren. Damit fällt eine Diskussion zum Code meinerseits aus. Ich brauche konkrete Hilfestellung, ob dieser dahingehend zu ändern ist, dass er csv konsolidieren kann, oder aber ob sich ggf. die csv´s mittels Stapelverarbeitung in xlsx zu konvertieren lassen und danach das Script der konsolidierung passt.
VG, Göran
Anzeige
AW: Konsolidierung von CSV und Excel Dateien
25.06.2019 09:58:23
CSV
Hallo Onur,
danke für die Hilfe. Die Datei von Luschi funktioniert besser für meine Bedürfnisse, da ich mehrere viele Dateien zusammenfügen kann. In deiner Variante war es genau eine, die ich hinzu fügen kann. Zudem hatte ich im Test mit den Echtdaten den Fall, dass vereinzelt Zeilen nicht in Spalten getrennt wurden, dass z.B. alle Werte in Spalte A geschrieben wurden.
Wie gesagt, trotzdem Danke für die Hilfe
Göran
AW: Konsolidierung von CSV und Excel Dateien
21.06.2019 05:43:48
CSV
Hallo Göran,

Das Ausgangsformat ist aber leider CSV.
Was sollen wir dann mit einer xlsx-Datei. Vba-Code zum Einlesen von csv-Dateien habe ich genug, man muß ihn aber jedesmal auf die Struktur der csv-Datei anpassen. Deshalb brauchen wir eine csv-Datei von Dir, die hinsichtlich des Aufbaus der Original-csv-Datei entspricht.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Konsolidierung von CSV und Excel Dateien
21.06.2019 09:12:16
CSV
Hallo Luschi,
Dateien im csv Format lassen sich nicht in das Forum hochladen. Das Problem lässt sich aber nachstellen, indem man die Datei von Excel nach CSV zurückspeichert. Die so erstellte Datei verursacht das gleiche Problem. Das habe ich soweit getestet.
Kannst du damit testen, oder ist das sinnfrei?
VG, Göran
AW: Konsolidierung von CSV und Excel Dateien
21.06.2019 10:04:25
CSV
Hallo Göran,
pack mal beide Dateien - die Excel-Datei und die csv-Datei - in eine WINZIP-Datei. Diese läßt sich ins Forum hochladen. Die genaue Kenntnis der csv-Datei ist unbedingt zur Lösung Deines Problems erforderlich.
M.f.G. Peter Kloßek
AW: Konsolidierung von CSV und Excel Dateien
21.06.2019 11:44:53
CSV
Ok, ich dachte Zip ist auch geblockt. Aber das war dann wohl mein Arbeitgeber :-)
hier jetzt noch einmal beide Dateien
https://www.herber.de/bbs/user/130512.zip
Danke Peter
Anzeige
AW: Konsolidierung von CSV und Excel Dateien
21.06.2019 14:18:38
CSV
Hallo Göran,
jetzt hast Du mir 2 Excel-Dateien geschickt, damit kann ich leider nichts anfangen. Es muss die eine Excel-Datei sein, welche mit der csv-Datei konsolidiert werden soll. Also bitte die csv-Datei (im Original, nicht als konvertierte Excel-Datei) hochladen. Weitere Frage: soll die in Excel konvertierte Datei dann einfach an die bestehende Excel-Datei angefügt werden?
M.f.G. Peter Kloßek
AW: Konsolidierung von CSV und Excel Dateien
22.06.2019 11:19:32
CSV
Hallo Göran,
bitte betrachte meinen Beitrag vom 21. 6. 2019, 14:18 Uhr, als gegenstandslos. Ich habe mich von Excel irreleiten lassen. Beim Extrrahieren wird die CSV-Datei - die Du richtigerweise gesendet hast - automatisch mit Excel geöffnet. Es ist tatsächlich eine CSV-Datei mit der Spaltentrennung durch ";". Daneben gibt es aber noch ganz andere Formen der Spaltentrennung in einer CSV-Datei; und daher ist erforderlich, die Original-CSV zu betrachten. Die Trennung durch ";" ist die übliche deutsche Spaltentrennung und man kann die CSV-Datei einfach in Excel öffnen. Du kannst also nach der Konvertierung der CSV-Datei in Excel ganz normal mit zwei Excel-Dateien arbeiten. Sofern Du Schwierigkeiten hast mit der Konsolidierung, dann bitte diejenige Datei herunterladen, die mit der CSV-Datei konsolidiert werden soll und mitteilen, wie genau dies geschehen soll.
M.f.G. Peter Kloßek
Anzeige
AW: Konsolidierung von CSV und Excel Dateien
23.06.2019 19:32:59
CSV
Hallo Göran,
hier mal mein Versuch, 1 oder mehrere csv-Dateien nach deiner csv-Vorlage 'Testdatensatz2 - Kopie.csv' in Excel hintereinander in 1 Excel-Tabellenblatt einzulesen.
Anmerkungen bzw. Kommentare stehen in der xlsm-Datei.
https://www.herber.de/bbs/user/130551.zip
Gruß von Luschi
aus klein-Paris
AW: Konsolidierung von CSV und Excel Dateien
25.06.2019 09:52:24
CSV
Hallo Luschi,
danke. Es funktioniert nach erstem Überfliegen der eingelesenen Daten perfekt!
VG, Göran
AW: Konsolidierung von CSV und Excel Dateien
25.06.2019 10:33:17
CSV
Hallo Luschi,
ich hab mal deine Kommentare angeschaut. Der von dir auskommentierte Aufruf des Statusbalken ist nettes Beiwerk. Keine Mühe deswegen, den Code hatte ich kopiert und in der Quelle gab´s den schon. Wenn´s nicht drin ist, ist´s auch OK :-)
Vielen Dank nochmal und viele Grüße, Göran
Anzeige
AW: Konsolidierung von CSV und Excel Dateien
23.06.2019 19:37:11
CSV
Ich habe dir am 21.6. 18:11 eine Datei gepostet - Was ist damit? Nicht gut genug?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige