Mehrere CSV Dateien in Excel importieren ohne Dateiendung

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Mehrere CSV Dateien in Excel importieren ohne Dateiendung

    Hallo zusammen,
    ich bin leider noch blutiger Anfänger und brauche deshalb bitte eure Hilfe.

    Ich habe ein Skript gefunden, um mehrere csv Dateien in Excel zu importieren. Jede Datei wird in ein eigenes Tabellenblatt eingefügt.

    VB.NET-Quellcode

    1. Sub CSV_Import()
    2. Dim dateien, i
    3. Dim owkb As Workbook
    4. dateien = Application.GetOpenFilename _
    5. ("csv-Dateien (*.csv), *.csv", MultiSelect:=True)
    6. If IsArray(dateien) Then
    7. For i = 1 To UBound(dateien)
    8. Workbooks.Open dateien(i), local:=True
    9. Set owkb = ActiveWorkbook
    10. With ThisWorkbook
    11. ActiveSheet.UsedRange.Copy
    12. .Sheets.Add after:=.Sheets(.Sheets.Count)
    13. .Sheets(.Sheets.Count).Name = owkb.Name
    14. .Sheets(owkb.Name).Range("A1").PasteSpecial
    15. End With
    16. Application.CutCopyMode = False
    17. owkb.Close False
    18. Next i
    19. End If
    20. End Sub


    Nun mein "Problem":
    Der Dateiname wird auch als Name des Tabellenblattes herangezogen. Dabei wird auch der Dateityp angegeben. Es steht dann z.B. dort "Tabelle.csv".
    Ich möchte die Dateiendung ".csv" aber nicht im Namen haben. Es soll nur der reine Dateiname, also z.B. "Tabelle" dort stehen.
    Wie könnte ich das Skript ändern um das zu erreichen.

    Vielen Dank schon im Voraus :)

    *Beitrag verschoben und CodeTags eingefügt* ~NoFear23m

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

    Hallo @David, willkommen im Forum.
    Ich denke es handelt sich um VBA, damit bist Du schonmal im falschen Unterforum gelandet.

    Test kann ich es nicht, aber vielleicht hilft dir das ja weiter:
    Spoiler anzeigen

    Quellcode

    1. Sub CSV_Import()
    2. Dim dateien, NameOhneCSV, i
    3. Dim owkb As Workbook
    4. dateien = Application.GetOpenFilename("csv-Dateien (*.csv), *.csv", MultiSelect:=True)
    5. If IsArray(dateien) Then
    6. For i = 1 To UBound(dateien)
    7. NameOhneCSV = Left(dateien(i), Len(dateien(i)) - 4)
    8. Workbooks.Open dateien(i), local:=True
    9. Set owkb = ActiveWorkbook
    10. With ThisWorkbook
    11. ActiveSheet.UsedRange.Copy
    12. .Sheets.Add after:=.Sheets(.Sheets.Count)
    13. .Sheets(.Sheets.Count).Name = NameOhneCSV
    14. .Sheets(owkb.Name).Range("A1").PasteSpecial
    15. End With
    16. Application.CutCopyMode = False
    17. owkb.Close False
    18. Next i
    19. End If
    20. End Sub