Excel VBA .csv Import in Tabelle x, ab Spalte y
Hallo,
für meine Datenbank benutze ich ein Makro, um die Datensätze aus einer *.csv Datei in meine Tabelle zu kopieren. Funktioniert auch einwandfrei.
Jetzt möchte ich aber, dass die Datensätze erst ab Spalte F eingefügt werden. Als ich dies im Quellcode geändert habe, wurde jedoch nur der letzte Datensatz
der *.csv Datei eingefügt. Weiß jemand woran das liegen könnte?
Hier der Code:
Keinen Schimmer woran das liegen könnte, im Internet fand ich auch nur, wie ich ab einer bestimmten Spalte der csv Datei einfügen kann, nicht andersherum.(.csv Datei ist nicht veränderbar :/)
Mit freundlichen Grüßen, drimrim
für meine Datenbank benutze ich ein Makro, um die Datensätze aus einer *.csv Datei in meine Tabelle zu kopieren. Funktioniert auch einwandfrei.
Jetzt möchte ich aber, dass die Datensätze erst ab Spalte F eingefügt werden. Als ich dies im Quellcode geändert habe, wurde jedoch nur der letzte Datensatz
der *.csv Datei eingefügt. Weiß jemand woran das liegen könnte?
Hier der Code:
Sub Datei_Importieren()
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long, intLastS As Long
Const cstrDelim As String = ";" 'Trennzeichen
Call Tabelle_Leeren 'Tabelle leeren
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Datei wählen"
.InitialFileName = "c:\test\*.csv" 'Pfad anpassen
If .Show = -1 Then
strFileName = .SelectedItems(1)
End If
End With
If strFileName <> "" Then
Application.ScreenUpdating = False
Open strFileName For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 1 To UBound(arrDaten)
arrTmp = Split(arrDaten(lngR), cstrDelim)
If UBound(arrTmp) > -1 Then
With Tabelle4
' intLastS = Cells(6, Columns.Count).End(xlToLeft).Column + 1
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
lngLast = Application.Max(lngLast, 1)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _ // (IngLast,1) habe ich zu (IngLast, 6) geändert, wird auch ausgeführt, jedoch nur mit dem letzten Datensatz //
= Application.Transpose(Application.Transpose(arrTmp))
End With
End If
Next lngR
End If
End Sub
Keinen Schimmer woran das liegen könnte, im Internet fand ich auch nur, wie ich ab einer bestimmten Spalte der csv Datei einfügen kann, nicht andersherum.(.csv Datei ist nicht veränderbar :/)
Mit freundlichen Grüßen, drimrim
Please also mark the comments that contributed to the solution of the article
Content-Key: 313209
Url: https://administrator.de/contentid/313209
Printed on: May 4, 2024 at 14:05 o'clock