csv-Dateien zusammenführen
18.02.2022 15:37:51
VBnAth
um verschiedene Dateien auszuwählen und in einer Datei zusammenzuführen, habe ich folgendes Makro:
Sub TabellenZusammenführen()
Application.ScreenUpdating = False
Dim vntPfadNamen As Variant
Dim strPfadUndDatei As String
Dim li As Long
Dim Mappe As Workbook
Dim Tabelle As Worksheet
Dim Ziel As Workbook
Set Ziel = ThisWorkbook
vntPfadNamen = Application.GetOpenFilename(FileFilter:="Excel Files (*.csv), *.csv", Title:="Wählen Sie die Dateien für die Zusammenführung aus!", MultiSelect:=True)
If VarType(vntPfadNamen) = vbBoolean Then
MsgBox "Vorgang wurde abgebrochen!"
Else
For li = LBound(vntPfadNamen) To UBound(vntPfadNamen)
strPfadUndDatei = vntPfadNamen(li)
Set Mappe = Application.Workbooks.Open(strPfadUndDatei)
For Each Tabelle In Mappe.Worksheets
Tabelle.Copy Ziel.Worksheets(Ziel.Worksheets.Count)
Next
Mappe.Close False
Next
End If
Application.ScreenUpdating = True
End Sub
Das funktioniert an sich ganz wunderbar. Nun erhalte ich aber von drei verschiedenen Lieferanten Daten als csv-Datei, die - wenn ich die Datei öffne - korrekt in die jeweiligen Spalte gesplittet sind. Über das Makro werden die Daten jedoch entweder gar nicht oder nur teilweise nach Semikolon getrennt.Kann mir jemand helfen, den Code anzupassen? Eine Alternative, die mich ans Ziel bringt, ist natürlich auch willkommen :)
Viele Grüße