Makro für das Öffnen der CSV-Dateien

Hallo,

kann mir jemand bei folgendem Problem helfen:

Da ich sehr viel mit CSV-Dateien zu tun habe, möchte ich ein Excel-Makro schreiben, um die Tätigkeit zu vereinfachen. Da meine VBA-Kenntnisse sehr gering sind, wäre ich sehr dankbar, wenn mir jemand helfen könnte.

Mit einem DateiÖffnenDialog sollte man die csv-Dateien auswählen können um diese dann in Excel zu öffnen. Normalerweise sind es mehrere Dateien, sie sollen alle in einem Workbook als Worksheets geöffnet werden.

Ich wäre für jede Hilfe sehr sehr sehr dankbar.

Viele liebe Grüße,
Maria

Mit einem DateiÖffnenDialog sollte man die csv-Dateien
auswählen können um diese dann in Excel zu öffnen.
Normalerweise sind es mehrere Dateien, sie sollen alle in
einem Workbook als Worksheets geöffnet werden.

Hi Maria,

Option Explicit
Sub tt()
Dim oeffnen, n As Integer
Application.ScreenUpdating = False
oeffnen = Application \_
 .GetOpenFilename(filefilter:="Text Files (\*.csv), \*.csv", MultiSelect:=True)
If IsArray(oeffnen) = False Then GoTo ende
For n = 1 To UBound(oeffnen)
 Workbooks.OpenText oeffnen(n)
 ActiveWorkbook.Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
 Workbooks(Mid(oeffnen(n), InStrRev(oeffnen(n), "\") + 1)).Close False
Next n
ende:
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard

Hallo Maria,

ich habe eine ähnliche Lösung wie Reinhard,
bei mir werden die CSV-Dateien einzeln abgefragt und in die Arbeitsmappe eingefügt.
Zusätzlich kann der Name der Tabelle für die einzufügende CSV-DAtei geändert werden.

Sub CSV()
' Erstellt unter EXCEL97
' Import mehrerer CSV-Dateien in eine EXCEL-Arbeitsmappe
Dim CSV\_Datei As Variant, DateiNeu As Variant, PfadCSV As String, Blattname As String
' Öffnen der 1. CSV-Datei
 CSV\_Datei = Application.GetOpenFilename( \_
 fileFilter:="CSV Datei (\*.csv), \*.csv")
 If CSV\_Datei False Then
 Application.Workbooks.OpenText CSV\_Datei, , , , , , , Semicolon, Comma
 PfadCSV = ActiveWorkbook.Path 'Pfad der CSV-Dateien
 Else
 MsgBox "Vorgang wurde abgebrochen!"
 Exit Sub
 End If
' Speichern der Datei als EXCEL-Arbeitsmappe
 DateiNeu = Application.GetSaveAsFilename( \_
 fileFilter:="Excel Arbeitsmappe (\*.xls), \*.xls")
 If DateiNeu False Then
 ActiveWorkbook.SaveAs DateiNeu, xlWorkbookNormal
 Else
 MsgBox "Vorgang wurde abgebrochen!"
 Exit Sub
 End If
 DateiNeu = ActiveWorkbook.Name
' Laden der weiteren CSV-Dateien
 ChDir PfadCSV
 Do
 If MsgBox("Weitere CSV-Datei öffnen?", vbYesNo, "CSV importieren") = vbNo Then Exit Do
 CSV\_Datei = Application.GetOpenFilename( \_
 fileFilter:="CSV Datei (\*.csv), \*.csv")
 If CSV\_Datei False Then
 Application.Workbooks.OpenText CSV\_Datei, , , , , , , Semicolon, Comma
 Else
 MsgBox "Vorgang wurde abgebrochen!"
 Exit Do
 End If
Blattname:
 'Falls gewünscht Name des Tabellenblatts ändern
 'Standardmäßig wird Name der CSV\_Datei genommen
 Blattname = InputBox("Name für Tabellenblatt der importierten CSV-Datei", "CSV importieren", \_
 Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4))
 If Blattname = "" Then
 MsgBox "Leerer Blattname ist nicht zulässig!"
 GoTo Blattname:
 End If
 Sheets(1).Name = Blattname
 ' CSV-Datei als letzte Tabelle in neue Excel-Datei verschieben
 Sheets(1).Move After:=Workbooks(DateiNeu).Sheets(Workbooks(DateiNeu).Sheets.Count)
 Loop
 ActiveWorkbook.Save
End Sub

Gruß
Franz

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Vielen Dank an euch Beide. Habt mir wirklich sehr geholfen.

Liebe Grüße,
Maria