Microsoft Excel

Herbers Excel/VBA-Archiv

CSV Dateien ans Ende Importieren

Betrifft: CSV Dateien ans Ende Importieren von: Elias
Geschrieben am: 12.10.2020 11:59:24

Hallo zusammen,


ich habe aktuell ein kleines Problem mit einem Makro, welcher mir CVS Dateien in eine aktuelle Tabelle importieren soll.

Sub CSV_Import()
Dim dateien, i, lastrow
lastrow = 1
dateien = Application.GetOpenFilename _
("csv-Dateien (*.csv), *.csv", MultiSelect:=True)
If IsArray(dateien) Then
For i = 1 To UBound(dateien)
Workbooks.Open dateien(i), Local:=True
With ThisWorkbook.Sheets(1)
ActiveSheet.UsedRange.Copy Destination:=.Range("A" & lastrow)
lastrow = .UsedRange.Rows.Count + 1
End With
ActiveWorkbook.Close False
Next i
End If
End Sub
An sich funktioniert alles wie es soll:
- Mehrere Dateien können ausgeählt werden
- Das ganze wird in eine bestehende Exceltabelle importiert
- Alle Werte stehen in eigenen Zellen

Das Problem ist, dass ich die CSV gerne am Ende meiner bereits bestehenden Tabelle einfügen möchte, derzeit das ganze aber einfach oben eingeschoben wird.

Könnte mir dabei jemand helfen ?

Grüße

Betrifft: AW: CSV Dateien ans Ende Importieren
von: Nepumuk
Geschrieben am: 12.10.2020 12:34:51

Hallo Elias,

teste mal:

Sub CSV_Import()
    Dim dateien As Variant, i As Long
    dateien = Application.GetOpenFilename _
        ("csv-Dateien (*.csv), *.csv", MultiSelect:=True)
    If IsArray(dateien) Then
        For i = 1 To UBound(dateien)
            Workbooks.Open dateien(i), Local:=True
            With ThisWorkbook.Worksheets(1)
                ActiveSheet.UsedRange.Copy Destination:=.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
            End With
            ActiveWorkbook.Close False
        Next i
    End If
End Sub

Gruß
Nepumuk

Betrifft: AW: CSV Dateien ans Ende Importieren
von: Elias
Geschrieben am: 12.10.2020 12:46:06

Hat super geklappt :)
Danke dir