Hoe kan ik meerdere CSV/tekst/XML-bestanden snel in bulk importeren in Excel?
In Excel hebt u mogelijk geprobeerd een werkboek op te slaan als CSV-bestand, tekstbestand of XML-bestand, maar heeft u ooit geprobeerd meerdere CSV/tekst/XML-bestanden uit een map te importeren in een werkboek of werkblad? In dit artikel introduceer ik enkele methoden om ze snel in bulk te importeren.
Importeer meerdere tekstbestanden uit een map naar elk werkblad van een werkboek met VBA
Om tekstbestanden uit een map te importeren naar een werkboek, kunt u onderstaande VBA gebruiken om het snel af te handelen.
1. Open een leeg werkboek en druk op Alt + F11 om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module en plak de VBA in het Module-venster.
VBA: Importeer alle tekstbestanden uit een map naar een werkboek
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. Druk op F5-toets of klik op de knop Uitvoeren om de VBA uit te voeren, en selecteer een map waaruit u de tekstbestanden wilt importeren in het pop-updialoogvenster. Zie screenshot:
4. Klik op OK en elk tekstbestand in de geselecteerde map is geïmporteerd in een werkblad van het actieve werkboek. Zie screenshot:



Ontdek de Magie van Excel met Kutools AI
- Slimme Uitvoering: Voer celbewerkingen uit, analyseer gegevens en maak diagrammen – allemaal aangestuurd door eenvoudige commando's.
- Aangepaste Formules: Genereer op maat gemaakte formules om uw workflows te versnellen.
- VBA-codering: Schrijf en implementeer VBA-code moeiteloos.
- Formule-uitleg: Begrijp complexe formules gemakkelijk.
- Tekstvertaling: Overbrug taalbarrières binnen uw spreadsheets.
Importeer meerdere CSV-bestanden uit een map naar één werkblad met VBA
Om alle CSV-bestanden uit een map te importeren in één werkblad, kunt u onderstaande VBA-code gebruiken.
1. Open een leeg werkblad en druk op Alt + F11 om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module en plak onderstaande VBA in het nieuwe Module-venster.
VBA: Importeer CSV-bestanden uit een map naar één werkblad
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. Druk op F5-toets of klik op de knop Uitvoeren om de VBA uit te voeren, en er verschijnt een dialoogvenster om een map te selecteren waaruit u alle CSV-bestanden wilt importeren. Zie screenshot:
4. Klik op OK, en er verschijnt een dialoogvenster om u eraan te herinneren of u de inhoud van het actieve werkblad wilt wissen voordat u importeert; hier klik ik op Ja. Zie screenshot:
Nadat u op Ja hebt geklikt, zijn alle CSV-bestanden in de geselecteerde map geïmporteerd in het huidige werkblad, en worden de gegevens vanaf kolom A naar rechts geplaatst. Zie screenshot:


Tip: Als u de CSV-bestanden horizontaal in een werkblad wilt plaatsen, kunt u onderstaande VBA gebruiken.
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
Importeer meerdere XML-bestanden uit een map naar één werkblad met VBA
Als u alle XML-bestanden uit een map wilt importeren in één werkblad, kunt u onderstaande VBA-code gebruiken.
1. Selecteer een leeg werkblad waar u de geïmporteerde gegevens wilt plaatsen, en druk op Alt + F11 om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module, plak de VBA-code in het Module-venster.
VBA: Importeer XML-bestanden uit een map naar een werkblad.
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. Klik op de knop Uitvoeren of druk op F5-toets om de VBA uit te voeren, en selecteer een map in het pop-updialoogvenster, zie screenshot:
4. Klik op OK, en alle XML-bestanden in de geselecteerde map zijn geïmporteerd in het actieve werkblad.
Importeer of combineer meerdere XML/CSV-bestanden in een werkblad of werkboek met Kutools voor Excel
Als u niet bekend bent met VBA, maak u zich geen zorgen, hier introduceer ik een handig hulpmiddel – Kutools voor Excel. Met de krachtige Combine-functie kunt u meerdere XML-bestanden of CSV-bestanden snel combineren in één werkboek of één Excel-werkblad.
Na installatie van Kutools voor Excel doet u het volgende: (Download Kutools voor Excel nu gratis!)
1. Activeer Excel en klik op Kutools Plus > Combine. Zie screenshot:
2. En in de stap 1 van Combine dialoogvenster, kies een scheidingsoptie zoals u nodig hebt. Zie screenshot:
3. Klik op Volgende om naar stap 2 van Combine, klik op Toevoegen om bestanden uit verschillende mappen of bestanden uit één map toe te voegen aan de Werkboek lijst, en ook kunt u de werkbladen die u wilt combineren specificeren uit de Werkblad lijst in de rechtersectie. Zie screenshot:
4. Klik op Volgende naar de laatste stap van Combine, en u kunt de combinatieopties specificeren.
5. Klik op Voltooien, er verschijnt een dialoogvenster om u eraan te herinneren een locatie te selecteren om het nieuwe gecombineerde resultaat op te slaan. Zie screenshot:
6. Klik op Opslaan. Alle toegevoegde werkbladen zijn samengevoegd in een nieuw enkel werkblad.
Tip: Met Combine kunt u ook meerdere CSV-bestanden uit meerdere mappen of één map combineren in één werkblad of werkboek.
Exporteer elk werkblad als CSV/tekst/PDF naar een map met Kutools voor Excel
Als u elk werkblad wilt exporteren als CSV/tekst/PDF-bestand naar een map, kan de functie Werkboek splitsen van Kutools voor Excel u helpen.
Na het gratis downloaden en installeren van Kutools voor Excel, doet u het volgende:
1. Activeer het werkboek dat u wilt exporteren en klik op Kutools Plus > Werkboek > Werkboek splitsen. Zie screenshot:
2. In het dialoogvenster Werkboek splitsen kunt u de namen van de werkbladen controleren die u wilt exporteren; standaard zijn alle werkbladen aangevinkt. Schakel 'Specificeer opslagformaat' in en selecteer het bestandsformaat waarin u wilt opslaan uit de vervolgkeuzelijst hieronder. Zie screenshot:
3. Klik op Splits en selecteer een map om de gesplitste bestanden op te slaan in het dialoogvenster Map zoeken, zie screenshot:
4. Klik op OK, nu zijn alle aangevinkte werkbladen geëxporteerd als nieuw bestandsformaat in de geselecteerde map.
Gerelateerde artikelen:
- Hoe converteer ik een hyperlink naar platte tekst in Excel?
- Hoe converteer ik een decimaal getal naar binair/octaal/hexadecimaal getal of vice versa in Excel?
- Hoe voeg ik een live wisselkoers in Excel in?
Beste productiviteitstools voor Office
Verbeter je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te kiezen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Activeer tabbladbewerking en -lezen in Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!
Alle Kutools-invoegtoepassingen. Eén installatieprogramma
Kutools for Office-suite bundelt invoegtoepassingen voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro, ideaal voor teams die werken met Office-toepassingen.





- Alles-in-één suite — invoegtoepassingen voor Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Eén installatieprogramma, één licentie — in enkele minuten geïnstalleerd (MSI-ready)
- Werkt beter samen — gestroomlijnde productiviteit over meerdere Office-toepassingen
- 30 dagen volledige proef — geen registratie, geen creditcard nodig
- Beste prijs — bespaar ten opzichte van losse aanschaf van invoegtoepassingen