Datenimport csv OHNE Datenverbindung
07.02.2019 11:11:54
Burak
also ich importiere seit geraumer Zeit verschiedene csv-Dateien per Makro.
Da mein ganzes Workbook immer langsamer wurde, habe ich etwas recherchiert und vermute es liegt daran dass er inzwischen über 1000 Datenverbindungen aufgebaut hat.
Das Importmakro habe ich irgendwo im Internet gefunden und angepasst. Aber eine Datenverbindung möchte ich definitiv nicht haben.
Also kann man in folgendem Code entweder verhindern, dass Datenverbindungen(Query Tables) aufgebaut werden oder hinzufügen, dass am Ende alle Datenverbindungen gelöscht werden?
'Import anhand Datum
For i = tage To 0 Step -1
EndDatum = EndDatum - i
'Enddatum umwandeln für Import
endjahr = Right(EndDatum, 4)
endmonat = Mid(EndDatum, 4, 2)
endtag = Left(EndDatum, 2)
'umgewandeltes Enddatum zusammen setzen
enddatum2 = endjahr & endmonat & endtag
'Linien 1-4
For k = 1 To linien
'Import einer leeren Datei
If FileLen(rehmpfad & k & "'_'" & enddatum2 & "'.csv") = 0 Then
'Import einer nicht leeren Datei
Else
Set wsroh = ActiveWorkbook.Sheets("R" & k)
'Zeilen zählen
Zeilenzahl = ActiveWorkbook.Sheets("R" & k).Cells(1, rohmbc).CurrentRegion.Rows.Count
'Dateipfad und Ziel für Import
With wsroh.QueryTables.Add(Connection:="TEXT;" & rehmpfad & k & "'_'" & enddatum2 & "'. _
csv", Destination:=wsroh.Cells(Zeilenzahl + 1, rohmbc))
'Import als Textformatierung
.TextFileParseType = xlDelimited
'Spaltentrennung in Quelldatei per Komma
.TextFileCommaDelimiter = True
'Aktualisieren der externen Datenverbindung
.Refresh
End With
End If
Next k
'Nächster Tag
EndDatum = EndDatum + i
Next i
bzw explizit:
With wsroh.QueryTables.Add(Connection:="TEXT;" & rehmpfad & k & "'_'" & enddatum2 & "'.csv", _
Destination:=wsroh.Cells(Zeilenzahl + 1, rohmbc))
'Import als Textformatierung
.TextFileParseType = xlDelimited
'Spaltentrennung in Quelldatei per Komma
.TextFileCommaDelimiter = True
'Aktualisieren der externen Datenverbindung
.Refresh
End With
Vielen Dank im Voraus!Viele Grüße
Burak