Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

csv Dateien importieren


Betrifft: csv Dateien importieren von: bene bene
Geschrieben am: 08.09.2019 12:25:52

Guten Tag,

ich hab ein Code und benötige eure Hilfe.
Der Code funktioniert nur nicht, weil ich CSV Dateien importieren möchte.
Ich weiß das ich Local:=True in mein Code hinzufügen soll, aber nicht wo genau.
Könnt ihr mir bitte helfen?

Sub HI()
   Dim oTargetBook As Object
   Dim oSourceBook As Object
   Dim sPfad As String
   Dim sDatei As String
     
     Application.ScreenUpdating = False 'Das "Flackern" ausstellen
     Application.DisplayAlerts = False 'Keine Fehlermeldungen anzeigen
     
     'Schritt 1: Arbeitsmappe festlegen, in die die neuen Sheets eingefügt werden...
     Set oTargetBook = ActiveWorkbook
          
     'Schritt 2: Schleife über alle Excel Dateien in einem Verzeichnis
     sPfad = "C:\Users\PNL\Desktop\BENE\"
     sDatei = Dir(CStr(sPfad & "*.csv*")) 'Alle Excel Dateien
     
     Do While sDatei <> ""
     
         'Schritt 3: öffnen der Datei und Datenübertragung
         Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, True) 'nur lesend öffnen
         
         'Es wird immer das erste Tabellenblatt Sheets(1) kopiert!
         oSourceBook.Sheets(1).Copy after:=oTargetBook.Sheets(oTargetBook.Sheets.Count)
         
         On Error Resume Next
         
         'Arbeitsblattname wird der Dateiname
         oTargetBook.Sheets(oTargetBook.Sheets.Count).Name = sDatei
         
         'Wenn ein Fehler aufgetreten ist, wird dieser resettet
         If Err.Number <> 0 Then
             Err.Number = 0
             Err.Clear
         End If
         On Error GoTo 0
         
         'Schritt 4: Datei wieder zu machen und nächste Schleifenrunde
         oSourceBook.Close False 'nicht speichern
         
         'Nächste Datei
         sDatei = Dir()
     Loop
     
     Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
     Application.DisplayAlerts = True 'Fehlermeldungen wieder anzeigen
     
     'Kleine finale Fertig-Meldung
     MsgBox "Fertig!", vbInformation + vbOKOnly, "Hinweis!"
     
     'Variablen aufräumen
     Set oTargetBook = Nothing
     Set oSourceBook = Nothing
End Sub

Gruß,
Bene

  

Betrifft: AW: csv Dateien importieren von: Nepumuk
Geschrieben am: 08.09.2019 18:55:18

Hallo Bene,

so:

Set oSourceBook = Workbooks.Open(Filename:=sPfad & sDatei, ReadOnly:=True, Local:=True)

Das unterdrücken von UpdateLinks ist in CSV-Dateien unnötig da das nur Textdateien sind.

Und hier ist das CStr überflüssig:

sDatei = Dir$(sPfad & "*.csv*")

Gruß
Nepumuk


Beiträge aus dem Excel-Forum zum Thema "csv Dateien importieren "