Hi Leute,
ich importierte eine CSV-Datei in meine *.xlsm auf die Weise, dass ich die CSV öffne, meinen Bereich markiere und dann in mein Tabellenblarr einfüge. Wenn ich das ganz per Hand mache passt alles. Wenn ich es über VBA mache verhaut es mir die Spalten total. Woher kommt das denn?
Hier mal der Code:
Sub ImportCRMDatei()
'Import einer CSV-Datei über einen Öffnen-Dialog.
Dim strQuelldatei As String
Dim wkbQuellarbeitsmappe As Workbook
Dim wksQuelltabelle As Worksheet
Dim rngQuelldaten As Range
'Öffnen-Dialog zur Auswahl der Datei und setzen als Quellarbeitsmappe
Set wkbQuellarbeitsmappe = Workbooks.Open(Application.GetOpenFilename(FileFilter:="CSV-Dateien (*.csv), FileIndex:=*.csv", Title:="Import CSV-Datei"))
'Setzen des ersten Tabellenblatts in der Quelldatei-Datei als Quellsheet
Set wksQuelltabelle = wkbQuellarbeitsmappe.Worksheets(1)
'Setzen des Bereichs (C:X). Da die Datei eine fest definiertes Schema hat wird diese auch fix hier festgelegt.
Set rngQuelldaten = wksQuelltabelle.Range("D:X")
'Auto-Filter in Quellsheet deaktivieren, dass alle Zeilen kopiert werden.
wksQuelltabelle.AutoFilterMode = False
'Kopieren aller Daten des Quellsheets und einfügen die das Tool
wksQuelltabelle.Range("A:U").Copy tblImportCRM.Range("A:U")
'Quellarbeitsmappe ohne speichern schliessen
wkbQuellarbeitsmappe.Close savechanges:=False
End Sub
Danke euch!