Thema Datum  Von Nutzer Rating
Antwort
Rot CSV datei einlesen und als copy speichern
03.05.2023 12:12:18 Daniel
NotSolved
03.05.2023 12:59:30 Gast4005
NotSolved
03.05.2023 14:26:46 Gast78666
NotSolved

Ansicht des Beitrags:
Von:
Daniel
Datum:
03.05.2023 12:12:18
Views:
842
Rating: Antwort:
  Ja
Thema:
CSV datei einlesen und als copy speichern

Hallo, 

Ich möchte aus einem Ordner mit über 3000 csv Dateien, jeweils eine CSV Datei in eine vorhandende Excel Datei einlesen und diese dann als normal xlxs Datei speichern. Die ursprüngliche Excel Datei hat über 15 Arbeitsmappen. Die CSV Datei soll in die Arbeitsmappe 'RawData' einglesen werden (Semikolon Trennung). Wenn die Daten eingelesen sind, soll die Datei gespeichert werden, der Name der neuen Datei ist in Zelle RawData A284 und RawData J284. Nach erfolgreich erstellter Excel Datei soll die CSV Datei aus dem Ornder gelöscht werden. Hier der Code:

Option Explicit

Sub ImportCSVFiles()
    Dim CSVFile As Variant
    Dim wsRawData As Worksheet
    Dim strPath As String
    Dim strNewFileName As String
    
    ' Set the folder path
    strPath = Application.PathSeparator & "Users" & Application.PathSeparator & "NAME" & Application.PathSeparator & "MM" & Application.PathSeparator
    
    ' Check if the folder path exists and create it if it doesn't
    If Len(Dir(strPath, vbDirectory)) = 0 Then
        MkDir strPath
    End If
    
    ' Loop through all CSV files in the folder
    CSVFile = Dir(strPath & "*.csv")
    Do While Len(CSVFile) > 0
        ' Set the RawData worksheet
        Set wsRawData = ThisWorkbook.Worksheets("RawData")
        
        ' Clear the RawData worksheet
        wsRawData.Cells.ClearContents
        
        ' Import the CSV file into the RawData worksheet
        On Error Resume Next
        With wsRawData.QueryTables.Add(Connection:="TEXT;" & strPath & CSVFile, Destination:=wsRawData.Cells(1, 1))
            If Err.Number <> 0 Then
                MsgBox "Error importing CSV file: " & Err.Description, vbCritical, "Import Error"
                Exit Sub
            End If
            .TextFileParseType = xlDelimited
            .TextFileSemicolonDelimiter = True
            .Refresh
        End With
        On Error GoTo 0
        
        ' Save the imported data as a new Excel file (.xlsx)
        strNewFileName = Replace(wsRawData.Range("C284").Value & "_" & wsRawData.Range("J284").Value, ":", "") & ".xlsx"
        ThisWorkbook.SaveCopyAs FileName:=strPath & strNewFileName
        
        ' Delete the used CSV file
        Kill strPath & CSVFile
        
        ' Move on to the next CSV file
        CSVFile = Dir
    Loop
End Sub

 

 

Leider funktioniert dieser nicht. Die Daten werden nicht eingelesen. Die Datei wird gespeichert als _.xlxs und die CSV Datei gelöscht, aber die Daten werden nicht in RawData importiert. Ich arbeite mit Mac und Excel 16.72. Ich bin über jede Hilfe sehr dankbar!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot CSV datei einlesen und als copy speichern
03.05.2023 12:12:18 Daniel
NotSolved
03.05.2023 12:59:30 Gast4005
NotSolved
03.05.2023 14:26:46 Gast78666
NotSolved