CSV-Datei import, importiert nur 2 Files, wieso?
03.12.2018 11:06:39
Tina232
ich hab mir aus VBA diverse Codes zusammengebastelt um mehrere CSV-Dateien im UTF-8 zu importieren und in eine bestehende Tabelle zu importieren, die ab A5 beginnt.
Diese dient als "Datenbank" für meien Pivottabelle...
Nach dem Import werden ein Umlaute wie  und ä gesucht und ersetzt, warum die dargestellt werden hat wohl irgendwas mit dem Import zu tun, ist aber nicht weiter dramatisch...
Jedenfalls funktioniert das soweit alles, jedoch werden immer nur maximal 2 CSV Dateien importiert obwohl ich mehrere (ca. 30) Elemente auswähle...
Hat das was mit dem Code zu tun?
Danke und LG Tina
[code]
Sub CSV_import()
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
Const cstrDelim As String = ";" 'Trennzeichen
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
.Title = "Datei wählen"
.InitialFileName = "\*.csv"
If .Show = -1 Then
strFileName = .SelectedItems(1)
End If
End With
Rows("6:6").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Rows("5:5").Select
Selection.ClearContents
If strFileName "1" 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 ActiveSheet
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
lngLast = Application.Max(lngLast, 5)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
End With
End If
Next lngR
End If
Cells.Replace What:="Â", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="ä", Replacement:="ä", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Rows("5:5").Select
Selection.Delete Shift:=xlUp
Range("K4").Select
End Sub
[/code]