.csv in .xls kopieren
Chris
Ich möchte per "Button Click" die Inhalte einer .csv Datein in eine .xls Datei kopieren. Die Spaltennamen sind dabei immer gleich.
Folgende Code konnte ich mir bisher zusammensuchen:
Sub kopieren()
Dim wksN As Excel.Worksheet
Dim qtbN As Excel.QueryTable
Dim vntPathAndFileName As Variant
vntPathAndFileName = Application.GetOpenFilename( _
FileFilter:="csv Files (*.csv), *.csv", _
Title:="Meine Dateien ", _
MultiSelect:=False)
If VarType(vntPathAndFileName) = vbBoolean Then
MsgBox "Abgebrochen!"
Exit Sub
End If
Set wksN = ThisWorkbook.Worksheets.Add(Before:=ThisWorkbook.Worksheets(1))
'Oder in neues Workbook:
'Set wksN = Application.Workbooks.Add.Worksheets(1)
Set qtbN = wksN.QueryTables.Add("TEXT;" & vntPathAndFileName, wksN.Cells(1, 1))
qtbN.FieldNames = True
qtbN.RowNumbers = False
qtbN.FillAdjacentFormulas = False
qtbN.PreserveFormatting = True
qtbN.RefreshOnFileOpen = False
qtbN.RefreshStyle = xlOverwriteCells
qtbN.SaveData = True
qtbN.AdjustColumnWidth = False
qtbN.RefreshPeriod = 0
qtbN.TextFilePromptOnRefresh = False
qtbN.TextFilePlatform = xlWindows
qtbN.TextFileStartRow = 1
qtbN.TextFileParseType = xlDelimited
qtbN.TextFileTextQualifier = xlTextQualifierNone
qtbN.TextFileSemicolonDelimiter = True
qtbN.Refresh BackgroundQuery:=False
qtbN.Delete
End Sub
Hier öffnet sich ein Auswahlfenster, mit dem ich meine entsprechende .csv-Datein auswählen kann.
Hier kopiert er allerdings das komplette Tabellenblatt in meine .xls-Datei.
Es soll in der .xls-Datei lediglich ein Tabellenblatt geben, wo die Zeilen untereinander aufgelistet werden.
Beispiel:
-> .csv-Datein auswählen -> schreibe zeilen in Tabellenblatt "Rohdaten_importieren" -> schließe .csv-Datei -> erneuter Button Klick -> weitere .csv-Datei auswählen und die neuen Daten unter die Daten der ersten .csv-Datein kopieren
Dieser Vorgang soll sich "x" mal wieder holen können.
Ich hoffe ich habe mich eingermaßen verständlich ausgedrückt.
Vielen Dank schonmal!
MfG
Henry
Anzeige