drimrim
Goto Top

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:
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

Content-Key: 313209

Url: https://administrator.de/contentid/313209

Printed on: April 19, 2024 at 21:04 o'clock