Hallo zusammen,
als absoluter VBA Anfänger, bitte ich euch um Mithilfe. Ich möchte über ein Makro mehrere csv Dateien öffnen. Die Reihenfolge soll so sein, dass die csv geöffnet wird, ich bestimmte Daten filter, in ein anderes Arbeitsblatt kopiere und dann die geöffnete csv schließe.
Das Problem liegt schon beim Import der csv, da hier die Spalten nicht richtig importiert werden. Ich komm nach ewigen probieren einfach nicht drauf. In der csv sind die Daten durch einen Tab getrennt. Oder muss das ganze über QueryTable gelöst werden?
Vielen Dank schon Mal und viele Grüße,
Eva
Sub Aaa()
Dim Dateieingabe As Variant
Dim anzahl As Long
Dim Dateiname As String
Dim test As Boolean
Dim i As Integer
i = 1
'CSV-Dateien einlesen
Application.StatusBar = "Dateien öffnen"
Dateieingabe = Application.GetOpenFilename("CSV-Datei (*.CSV),*.CSV", False, , False, True)
Application.ScreenUpdating = False
test = False
'Abbruchsicherung: wenn keine Datei ausgewählt wird, wird alte Auswertung gelöscht
If TypeName(Dateieingabe) = TypeName(test) Then 'Variablen Dateieingabe und test werden auf ihren Datentyp überprüft
MsgBox ("Es wurden keine Dateien ausgewählt!")
Application.StatusBar = "Keine Dateien ausgewählt"
Else
For anzahl = LBound(Dateieingabe) To UBound(Dateieingabe)
Workbooks.OpenText Filename:=Dateieingabe(anzahl), Origin:=xlWindows, StartRow:=22, DataType:=xlDelimited, Comma:=True, ConsecutiveDelimiter:=False, TextQualifier:=xlTextQualifierNone
Dateiname = ActiveWorkbook.Name
Application.CutCopyMode = False 'Zwischenspeicher-Abfrage unterdrücken
Workbooks(File).Close 'Datei schließen
i = i + 2
Next
Application.StatusBar = "Auswertung fertig und Ergebnisse dargestellt"
End If
Application.ScreenUpdating = True
End Sub
|