Note: The other languages of the website are Google-translated. Back to English

Wie kann man schnell mehrere CSV- / Text- / XML-Dateien in Excel stapelweise importieren?

In Excel haben Sie möglicherweise eine Arbeitsmappe als CSV-Datei, Textdatei oder XML-Datei gespeichert, aber haben Sie jemals versucht, mehrere CSV- / Text- / XML-Dateien aus einem Ordner in eine Arbeitsmappe oder ein Arbeitsblatt zu importieren? In diesem Artikel stelle ich einige Methoden vor, um sie schnell im Batch zu importieren.

Importieren Sie mit VBA mehrere Textdateien aus einem Ordner in jedes Arbeitsblatt einer Arbeitsmappe

Importieren Sie mit VBA mehrere CSV-Dateien aus einem Ordner in ein einzelnes Blatt

Importieren Sie mit VBA mehrere XML-Dateien aus einem Ordner in ein einzelnes Blatt

Importieren oder kombinieren Sie mehrere XML / CSV-Dateien in ein Blatt oder eine Arbeitsmappe mit Kutools for Excel gute Idee3

Exportieren Sie jedes Blatt als csv / text / pdf in einen Ordner mit Kutools for Excelgute Idee3


Um Textdateien aus einem Ordner in eine Arbeitsmappe zu importieren, können Sie unter VBA schnell damit umgehen.

1. Aktivieren Sie eine leere Arbeitsmappe und drücken Sie Alt + F11 Schlüssel zum Öffnen Microsoft Visual Basic für Applikationen Fenster.

2 Klicken Insert > Modulund fügen Sie die VBA in die ein Modul Fenster.

VBA: Importieren Sie alle Textdateien aus einem Ordner in eine Arbeitsmappe

Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\*.txt")
    Do While xFile <> ""
        xCount = xCount + 1
        Sheets(xCount).Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
          & xStrPath & "\" & xFile, Destination:=Range("A1"))
            .Name = "a" & xCount
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            xFile = Dir
        End With
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files txt", , "Kutools for Excel"
End Sub

3. Drücken Sie F5 Schlüssel oder Run Klicken Sie auf die Schaltfläche, um die VBA auszuführen, und wählen Sie im Popup-Dialogfeld einen Ordner aus, aus dem Sie die Textdateien importieren möchten. Siehe Screenshot:

doc importiere mehrere csv text xml 1

4. Und klicken Sie auf OKund jede Textdatei im ausgewählten Ordner wurde in ein Arbeitsblatt der aktiven Arbeitsmappe importiert. Siehe Screenshot:

doc importiere mehrere csv text xml 2doc importiere mehrere csv text xml 3

Kombinieren Sie einfach mehrere Blätter / Arbeitsmappen zu einem einzigen Blatt oder einer Arbeitsmappe

Das Kombinieren mehrerer Blätter oder Arbeitsmappen zu einem Blatt oder einer Arbeitsmappe kann in Excel schwierig sein, aber mit dem Kombinieren Mit der Funktion in Kutools for Excel können Sie Dutzende von Arbeitsblättern / Arbeitsmappen zu einem Arbeitsblatt oder einer Arbeitsmappe zusammenführen. Außerdem können Sie die Arbeitsblätter mit nur mehreren Klicks zu einem einzigen zusammenfassen.  Klicken Sie für Vollfunktion 30 Tage kostenlos testen!
Blätter kombinieren
 
Kutools für Excel: mit mehr als 300 praktischen Excel-Add-Ins, die Sie ohne Einschränkung kostenlos ausprobieren können 30 Tage.

Um alle CSV-Dateien aus einem Ordner in ein einzelnes Blatt zu importieren, können Sie den folgenden VBA-Code verwenden.

1. Aktivieren Sie ein leeres Arbeitsblatt und drücken Sie Alt + F11 Schlüssel zum Öffnen Microsoft Visual Basic für Applikationen Fenster.

2 Klicken Insert > Modulund unter VBA in das neue einfügen Modul Fenster.

VBA: Importieren Sie CSV-Dateien aus einem Ordner in ein Arbeitsblatt

Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Columns(1).Insert xlShiftToRight
        Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
        xWb.Close False
        xFile = Dir
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub

3. Drücken Sie F5 Taste oder klicken Run Klicken Sie auf die Schaltfläche, um die VBA auszuführen, und ein Dialogfeld wird angezeigt, in dem Sie einen Ordner auswählen können, aus dem Sie alle CSV-Dateien importieren möchten. Siehe Screenshot:

doc importiere mehrere csv text xml 4

4 Klicken OKund ein Dialogfeld wird angezeigt, um Sie daran zu erinnern, ob der Inhalt des aktiven Arbeitsblatts vor dem Import gelöscht wurde. Hier klicke ich Ja. Siehe Screenshot:

doc importiere mehrere csv text xml 5

Nach einem Klick JaAlle CSV-Dateien im ausgewählten Ordner werden in das aktuelle Blatt importiert und die Daten aus Spalte A nach rechts platziert. Siehe Screenshot:

doc importiere mehrere csv text xml 6doc importiere mehrere csv text xml 7

TIPP: Wenn Sie CSV-Dateien horizontal in einem Arbeitsblatt platzieren möchten, können Sie sie unter VBA verwenden.

Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
        xSht.UsedRange.Clear
        xCount = 1
    Else
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    End If
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Rows(1).Insert xlShiftDown
        Range("A1") = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
        xWb.Close False
        xFile = Dir
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub 

doc importiere mehrere csv text xml 8


Wenn Sie alle XML-Dateien aus einem Ordner in ein einzelnes Blatt importieren möchten, können Sie den folgenden VBA-Code verwenden.

1. Wählen Sie ein leeres Blatt aus, in das Sie die importierten Daten einfügen möchten, und drücken Sie Alt + F11 zu aktivierende Tasten Microsoft Visual Basic für Applikationen Fenster.

2 Klicken Insert > ModulFügen Sie VBA-Code in das Feld ein Modul Fenster.

VBA: Importieren Sie XML-Dateien aus einem Ordner in ein Arbeitsblatt.

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "\*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3 Klicken Run Knopf oder F5 Taste zum Ausführen des VBA und Auswählen eines Ordners im Popup-Dialogfeld, siehe Screenshot:

doc importiere mehrere csv text xml 9

4 Klicken OKund alle XML-Dateien im ausgewählten Ordner werden in das aktive Blatt importiert.


Wenn Sie mit VBA nicht vertraut sind, machen Sie sich Sorgen, hier stelle ich ein praktisches Tool vor - Kutools for Excel für dich. Mit seiner Kraft Kombinieren Dienstprogramm, können Sie schnell mehrere XML-Dateien oder CSV-Dateien in einer Arbeitsmappe oder einer Excel-Tabelle kombinieren.

Kutools for Excel, mit mehr als 300 praktische Funktionen erleichtern Ihre Arbeit. 

Nach der Installation Kutools für Excel, bitte gehen Sie wie folgt vor:(Kutools für Excel jetzt kostenlos herunterladen!)

1. Active Excel und klicken Sie auf Kutoolen Plus > Kombinieren. Siehe Screenshot:
doc kombinieren 1

2. Und in der Schritt 1 von Kombinieren Wählen Sie im Dialogfeld eine Trennoption nach Bedarf aus. Siehe Screenshot:
doc kombinieren 2

3 Klicken Weiter um zu gehen Schritt 2 des Kombinats, klicken Verwenden Sie um Dateien aus verschiedenen Ordnern oder Dateien aus einem Ordner hinzuzufügen Workbook Sie können auch die Blätter angeben, aus denen Sie kombinieren möchten Arbeitsblatt Liste des rechten Abschnitts. Siehe Screenshot:
doc kutools kombinieren blätter 3

4 Klicken Weiter bis zum letzten Schritt von Kombinieren, und Sie können die Kombinationsoptionen angeben.
doc kutools kombinieren blätter 4

5 Klicken EndzielEin Dialogfeld wird angezeigt, in dem Sie daran erinnert werden, dass Sie einen Speicherort für das neue kombinierte Ergebnis ausgewählt haben. Siehe Screenshot:
doc kombinieren 5

6 Klicken Sie sparen. Alle hinzugefügten Blätter wurden zu einem neuen Einzelblatt zusammengefasst.
doc kombinieren 6

TIPP: Mit Kombinierenkönnen Sie auch mehrere kombinieren CSV-Dateien Bilden Sie mehrere Ordner oder einen Ordner zu einem Blatt oder einer Arbeitsmappe.


Wenn Sie jedes Blatt als CSV- / Text- / PDF-Datei in einen Ordner exportieren möchten, Kutools for Excel Arbeitsmappe teilen Dienstprogramm kann einen Gefallen für Sie tun.

Nachher kostenlose Installation Kutools für Excel, bitte gehen Sie wie folgt vor:

1. Aktivieren Sie die Arbeitsmappe, deren Arbeitsblätter Sie exportieren möchten, und klicken Sie auf Kutoolen Plus > Workbook > Arbeitsmappe teilen. Siehe Screenshot:

doc importiere mehrere csv text xml 10

2. In dem Arbeitsmappe teilen Im Dialogfeld können Sie die zu exportierenden Blattnamen überprüfen. Standardmäßig werden alle Blätter überprüft und überprüft Geben Sie das Sicherungsformat an und wählen Sie das zu speichernde Dateiformat aus der Dropdown-Liste aus. Siehe Screenshot:

doc importiere mehrere csv text xml 11

3 Klicken Split und wählen Sie einen Ordner aus, in dem die geteilten Dateien gespeichert werden sollen Suche nach Ordner Dialog, siehe Screenshot:

doc importiere mehrere csv text xml 12

4 Klicken OKJetzt werden alle markierten Blätter als neues Dateiformat in den ausgewählten Ordner exportiert.


Relative Artikel:


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten
Kommentare (36)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, vielen Dank für diese Codebeispiele! Der erste (VBA: Alle Textdateien aus einem Ordner in eine Arbeitsmappe importieren) ist fast genau das, was ich brauche. Ich möchte jedoch auswählen, welche Dateien importiert werden sollen, und nicht automatisch alle Textdateien in einem bestimmten Ordner importieren. Ich möchte auch, dass die bestehenden Inhalte meiner Zielblätter mit den Inhalten der Textdateien überschrieben werden. (Bei obigem Code werden die vorhandenen Inhalte nach rechts verschoben statt ersetzt.) Wie mache ich das? Danke im Voraus!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich würde gerne den VBA-Code für "Mehrere XML-Dateien aus einem Ordner in ein einzelnes Blatt mit VBA importieren" verstehen. 1. Warum werden 2 Arbeitsmappen statt 1 benötigt? 2. Es dauert einige Zeit, viele XML-Dateien in Excel zu laden, gibt es also einen effizienteren Code? Da mir klar ist, dass beim Ausführen Ihres Codes viele VBA-Arbeitsmappen erstellt wurden, die die Verlangsamung verursacht haben. Ich würde mich sehr freuen, wenn Sie mir beim Verständnis helfen könnten!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Entschuldigung, ich habe Ihre erste Frage nicht verstanden, und zur zweiten, dem effizienteren Code, habe ich sie nicht gefunden. Wenn Sie es wissen, hinterlassen Sie bitte eine Notiz für mich, danke.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich würde gerne den VBA-Code zum "Importieren mehrerer .txt-Dateien aus einem Ordner in ein einzelnes Blatt mit VBA" in der nächsten verfügbaren Zeile (nicht horizontal) verstehen. Bitte um Hilfe, dringend
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, wenn Sie alle TXT-Dateien aus einem Ordner in ein einzelnes Blatt importieren möchten, können Sie den obigen VBA-Code verwenden, um TXT-Dateien zuerst in eine Arbeitsmappe zu importieren, und dann die Funktion „Arbeitsblätter kombinieren“ von Kutools for Excel anwenden, um alle Blätter einer Arbeitsmappe zu kombinieren ein Blatt, dann die txt-Dateien in einem Blatt. Hoffe es hilft dir.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das Problem dabei ist, dass weder der VBA-Befehl noch Kutools es ermöglichen, die CSV-Dateien mit Zeichencodeformatierung zu importieren. Die Vorspannung ist westlich. Ich muss alle CSV-Dateien als Unicode-8 importieren
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Der Code zum Konvertieren von txt-Dateien hat bei mir nicht funktioniert.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Entschuldigung, dieser Artikel funktioniert nicht für Sie. Können Sie Ihr Problem beschreiben? Was passiert beim Ausführen des Codes? Und mit welchem ​​System arbeitest du?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hi! Der Code "CSV-Dateien aus einem Ordner in ein Arbeitsblatt importieren" funktioniert bei mir! Aber dieser Code funktioniert nicht für eine leere TXT-Datei. Gibt es eine Möglichkeit, auch die leeren Dateien zu behalten?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Tut mir leid, ich weiß nicht, warum ich eine leere txt.file importieren muss. Fügen Sie einfach leere Zeilen ein, um den Inhalt zu trennen.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Mike: "Der Code zum Konvertieren von txt-Dateien hat bei mir nicht funktioniert."

Ich hatte das gleiche Problem. Der Makrofehler tritt auf, wenn Sie mehr TXT-Dateien zu öffnen haben als Arbeitsblätter in Ihrer Arbeitsmappe (Standard ist 3).
Ich habe es behoben, indem ich Folgendes hinzugefügt habe, kurz bevor die Schleife beendet wird, sodass das Makro nach dem Rest ein neues Blatt erstellt
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Chad, das funktionierte perfekt für mich, um mehrere Textdateien zu importieren. Danke.

Weißt du, ob es eine Möglichkeit gibt, die Dateinamen abzurufen? Ich möchte, dass die Textdateinamen in die einzelnen Excel-Tabellenregisterkarten kopiert werden.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Absolut erstaunlich! Ich habe versucht, alle CSV-Dateien in einem Arbeitsblatt zu öffnen, und es hat wunderbar funktioniert. Vielen Dank, wirklich!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich habe versucht, den Code für .xml auszuführen, und es schien nicht zu funktionieren, da ich die Meldung "no files xml" erhielt. Wie kann man das beheben?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Es wird eine Meldung "no files xml" angezeigt, während Ihr ausgewählter Ordner keine XML-Dateien enthält. Sie können den richtigen Ordner auswählen, der XML-Dateien im Popup-Dialog enthält, nachdem Sie den Code zum Importieren in das aktive Blatt ausgeführt haben.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Es funktionierte! Vielen Dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
hallo, saya mau tanya kalo import txt file ke satu sheet gimana ya?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, rendy, möchtest du alle txts in ein Blatt oder jede txt in jedes Blatt importieren?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe Code zum Importieren von TXTs in Blätter, jedes Txt in jedes Blatt, aber ich möchte, dass jedes Txt mit seinem Namen in das Blatt importiert wird Datei zum Hinzufügen von Code zum Umbenennen von Blättern mit txts-Namen ... danke.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe Code zum Importieren von TXTs in Blätter, jedes Txt in jedes Blatt, aber ich möchte, dass jedes Txt mit seinem Namen in das Blatt importiert wird
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, Ramy, zahran, Sie können den folgenden Code ausprobieren, der die Textdateien importieren und den Blattnamen in den Namen der Textdatei umbenennen kann.
Unter LoadPipeDelimitedFiles()
'UpdatebyExtendoffice20180925
Dim xStrPath als Zeichenfolge
Dim xFileDialog As FileDialog
Dim xFile als Zeichenfolge
Dim xCount As Long
Dim xWS als Arbeitsblatt

Bei Fehler GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.title = "Ordner auswählen [Kutools for Excel]"
Wenn xFileDialog.Show = -1 Dann
xStrPath = xFileDialog.SelectedItems(1)
End If
Wenn xStrPath = "" dann Sub beenden
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\*.txt")
Do While xFile <> ""
xAnzahl = xAnzahl + 1
Setze xWS = Blätter(xCount)
xWS.Select
xWS.Name = "TEXT " & Left(xFile, Len(xFile) - 4)
Mit ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xDatei, Ziel:=Range("A1"))
.Name = "a" & xAnzahl
.FieldNames = True
.RowNumbers = Falsch
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = Falsch
.RefreshStyle = xlInsertDeleteCells
.SavePassword = Falsch
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = Falsch
.TextFileTabDelimiter = Falsch
.TextFileSemicolonDelimiter = Falsch
.TextFileCommaDelimiter = Falsch
.TextFileSpaceDelimiter = Falsch
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=Falsch
xDatei = Dir
Ende mit
Loop
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox "keine Dateien txt", "Kutools für Excel"
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hi! Ich habe den Code verwendet, um mehrere XML-Dateien zu einer zusammenzuführen, aber leider wurden die Spalten durcheinander gebracht. Die 5 zusammenzuführenden Dateien hatten alle das gleiche Format. Kann man das irgendwie beheben? Ich habe mich auch gefragt, ob es eine Möglichkeit gibt, die Header zu entfernen, die beim Zusammenführen der Dateien dupliziert werden. Danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke. Diese Seite war eine große Hilfe. Ich habe ein Problem, das ich nicht herausfinden kann. Ich versuche, mehrere CSV-Dateien in Excel-separate Blätter in Excel zu importieren und jedes Blatt nach dem Dateinamen der CSV-Datei umbenennen zu lassen. Ich weiß, dass dies unten für eine TXT-Datei behandelt wurde, aber ich arbeite mit CSV-Dateien. Danke im Voraus.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo - Ich verwende den Import aller CSV-Dateien in eine oben aufgeführte Datei "Importieren Sie mehrere CSV-Dateien aus einem Ordner in ein einzelnes Blatt mit VBA" - ich möchte den Ordner definieren, aus dem die Daten gesammelt werden, ohne manuell auswählen zu müssen es. Ist das möglich? Danke - SW.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, Scott W, ich habe einen VBA-Code gefunden, der Ihnen helfen kann.
Option Explizit

Sub-ImportCSVsWithReference()
'Autor: Jerry Beaucaire
'Datum: 10
'Zusammenfassung: Importieren Sie alle CSV-Dateien aus einem Ordner in ein einzelnes Blatt
' Hinzufügen eines Felds in Spalte A, das die CSV-Dateinamen auflistet

Dim wbCSV als Arbeitsmappe
Dim wsMstr As Worksheet: Set wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'Pfad zu CSV-Dateien, einschließlich des letzten \
Dim fCSV als String

If MsgBox("Vorhandenes Blatt vor dem Import löschen?", vbJaNein, "Löschen?") _
= vbYes Dann wsMstr.UsedRange.Clear

Application.ScreenUpdating = False 'Makro beschleunigen

fCSV = Dir(fPath & "*.csv") 'Auflistung der CSV-Datei starten

Do While Len(fCSV) > 0
'CSV-Datei öffnen
Set wbCSV = Workbooks.Open(fPath & fCSV)
'Spalte A einfügen und CSV-Name hinzufügen
Spalten(1).xlShiftToRight einfügen
Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
'Datum in Stammblatt kopieren und Quelldatei schließen
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.Close Falsch
'bereit nächste CSV
fCSV = Richt
Loop

Application.ScreenUpdating = True
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
So eliminieren Sie doppelte Header- und CSV-Dateinamenspalten. Bitte helfen Sie .... Ich habe mehrere Artikel durchgesehen, aber leider geben alle das gleiche Ergebnis.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo - ich habe Ihre VBA-Codes verwendet, um Daten aus mehreren CSV-Dateien in eine Excel-Datei (den Code auf dieser Seite) zu extrahieren und CSV-Dateien in Excel-Dateien zu konvertieren (diese: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), mit tollen Ergebnissen. Sie haben mir geholfen, viel Zeit zu sparen.

Ich bemerke jedoch ein gemeinsames Problem mit diesen beiden Arten von Codes. Zur Verdeutlichung: Mein System ist so eingerichtet, dass es die europäischen Standards für Daten verwendet, während einige der CSV-Dateien, die ich für meine Arbeit erhalten habe, Daten in US-Standards enthalten. Das erste Problem ist, wenn ich Daten aus einer CSV-Datei extrahiere oder konvertiere, die Daten im US-Format enthält, werden alle diese Daten umgekehrt (entsprechend den EU-Standards, die von meinem System verwendet werden). Das ist großartig, aber es hat mir auch Probleme bereitet, da ich nicht wusste, dass die Codes die Daten für mich umkehren würden, also machte ich weiter und tat dasselbe noch einmal. Das zweite Problem ist, dass bei den CSV-Dateien, die bereits Daten im gleichen Format wie das von meinem System verwendete (EU-Standards) enthalten, nur die mehrdeutigen Daten umgekehrt werden (dh 04 - 05). während diejenigen, die zu offensichtlich sind, unverändert bleiben (z. B. 2019).

Ich möchte, dass die Codes genau dasselbe tun, wie sie hier gezeigt werden, nur dass sie die Daten (insbesondere Datumsangaben) in den genauen Formaten kopieren und einfügen sollten, die in den Originaldateien verwendet werden. Dies würde dazu beitragen, mögliche Verwechslungen und Fehler zu vermeiden. Ich würde gerne VBA lernen, damit ich eines Tages meine eigenen Codes schreiben kann, aber im Moment bin ich nicht einmal in der Lage, Teile der vorhandenen Codes an meine Bedürfnisse anzupassen. Wenn Sie also helfen können, sagen Sie mir bitte, wo ich die geänderten Codes (die Sie sich ausdenken) zu den vorhandenen Codes hinzufügen soll. Ich schätze jedes Feedback und jede Unterstützung, die ich bekommen kann. Danke euch allen!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Marshall, fügen Sie in der Workbooks.Open-Methode die Option Local:=True hinzu.

dh
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank Robert. Entschuldigung, dass ich Ihnen nicht früher antworten konnte. Ich habe bis jetzt keine Benachrichtigung bekommen. Ich werde das ausprobieren und mich später bei Ihnen melden, um Ihnen mitzuteilen, ob es funktioniert.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Robert,
Ich bin es wieder. Es hat eine Weile gedauert, bis ich tatsächlich die Zeit hatte, herauszufinden, zu welchem ​​​​Teil des Codes der "Local:True" -Teil hinzugefügt werden sollte. Das Ergebnis ist super geworden, da die Datumsangaben nicht mehr vertauscht sind. Danke!
Für alle, die das gleiche Problem haben, ändern Sie einfach diese Zeile:
Setze xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)

Um dies:
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, gibt es eine Möglichkeit, mehrere CSV-Dateien mit Semikolon als Trennzeichen zu importieren? Danke!
PS Schöner Artikel!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Manschaft

Ich verwende den Code zum Importieren mehrerer XML-Dateien in ein einzelnes Blatt mit VBA, aber das Problem, mit dem ich konfrontiert bin, ist, wenn die Anzahl der Zeilen ungefähr 650000 erreicht, dann werden die restlichen XML-Dateien im Ordner nicht verarbeitet und es wird ein Fehler ausgegeben, dass keine XML-Dateien vorhanden sind . Benötigen Sie Ihre Unterstützung, um diese Anzahl zu erhöhen.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Experten

Ich verwende den obigen Code zum Importieren mehrerer XML-Dateien in 1 Arbeitsblatt mit VBA, aber das Problem, mit dem ich konfrontiert bin, ist, wenn die Anzahl der Zeilen in einem Arbeitsblatt 650000 erreicht, dann verarbeitet dieser Code die restlichen XML-Dateien im Ordner nicht. Es gibt einen Fehler "no files.xml". Benötigen Sie Ihre freundliche Unterstützung
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, die Anweisungen zum Importieren mehrerer XML-Dateien in eine Registerkarte eines Excel-Dokuments funktionieren, aber ich habe mich gefragt, wie ich die Spalten ausrichten kann. Meine XMLs haben nicht alle die gleichen Tags. Sie sind so eingerichtet, dass, wenn das XML keine Daten für einige Header (Tags) enthält, der Header in diesem XML fehlt. Gibt es eine Möglichkeit, die XML-Dateien zu importieren, damit dieselben Header aus jeder XML-Datei und die zugehörigen Daten in dieselbe Excel-Spalte fallen?
Es sind noch keine Kommentare vorhanden
Mehr laden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL