Hoe snel meerdere csv / tekst / xml-bestanden in Excel snel batchgewijs importeren?
In Excel ben je misschien gebonden om een werkmap op te slaan als csv-bestand, tekstbestand of xml-bestand, maar heb je ooit geprobeerd om meerdere csv / tekst / xml-bestanden uit een map in een werkmap of een werkblad te importeren? In dit artikel introduceer ik enkele methoden om ze snel in batches te importeren.
Importeer meerdere tekstbestanden uit een map in elk werkblad van een werkmap met VBA
Importeer meerdere csv-bestanden uit een map in één blad met VBA
Importeer meerdere xml-bestanden uit een map in een enkel blad met VBA
Importeer of combineer meerdere xml / csv-bestanden in een blad of een werkmap met Kutools voor Excel
Exporteer elk blad als csv / text / pdf naar een map met Kutools voor Excel
Importeer meerdere tekstbestanden uit een map in elk werkblad van een werkmap met VBA
Om tekstbestanden uit een map naar een werkmap te importeren, kunt u onderstaande VBA gebruiken om deze snel af te handelen.
1. Schakel een lege werkmap in en druk op Alt + F11 sleutels om te openen Microsoft Visual Basic voor toepassingen venster.
2. klikken Invoegen > Moduleen plak de VBA in het Module venster.
VBA: importeer alle tekstbestanden uit een map in een werkmap
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 lopen knop om de VBA uit te voeren en selecteer een map waaruit u de tekstbestanden wilt importeren in het popping-dialoogvenster. Zie screenshot:
4. En klik OK, en elk tekstbestand in de geselecteerde map is geïmporteerd in één werkblad van de actieve werkmap. Zie screenshot:
Combineer eenvoudig meerdere bladen / werkmap in één enkel blad of werkmap
|
Het combineren van meerdere bladen of werkmappen tot één blad of werkmap kan lastig zijn in Excel, maar met de extensie Combineren functie in Kutools for Excel, kunt u tientallen bladen / werkmappen samenvoegen tot één blad of werkmap, ook kunt u de bladen met slechts enkele klikken in één samenvoegen. Klik voor een volledige gratis proefperiode van 30 dagen! |
Kutools for Excel: met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. |
Importeer meerdere csv-bestanden uit een map in één blad met VBA
Om alle csv-bestanden van een map in een enkel blad te importeren, kunt u onderstaande VBA-code gebruiken.
1. Schakel een leeg werkblad in en druk op Alt + F11 sleutels om te openen Microsoft Visual Basic voor toepassingen venster.
2. klikken Invoegen > Module, en plak onder VBA in het nieuwe Module venster.
VBA: importeer csv-bestanden uit een map in éé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 lopen knop om de VBA uit te voeren, en een dialoogvenster verschijnt om een map te selecteren waaruit u alle csv-bestanden wilt importeren. Zie screenshot:
4. klikken OK, en er verschijnt een dialoogvenster om u eraan te herinneren of u de inhoud van het actieve werkblad wist voordat u importeert, hier klik ik Ja. Zie screenshot:
na het klikken op Ja, worden alle csv-bestanden in de geselecteerde map geïmporteerd in het huidige blad en worden de gegevens van kolom A naar rechts geplaatst. Zie screenshot:
Tip: Als u 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 in een enkel blad met VBA
Als u alle XML-bestanden uit een map in één blad wilt importeren, kunt u onderstaande VBA-code gebruiken.
1. Selecteer een leeg blad waarop u de geïmporteerde gegevens wilt plaatsen en druk op Alt + F11 toetsen om in te schakelen Microsoft Visual Basic voor toepassingen venster.
2. klikken Invoegen > Module, plak VBA-code in het Module venster.
VBA: XML-bestanden uit een map importeren in 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. klikken lopen knop of F5 toets om de VBA uit te voeren en selecteer een map in het popping-dialoogvenster, zie screenshot:
4. klikken OK, en alle XML-bestanden in de geselecteerde map worden geïmporteerd in het actieve blad.
Importeer of combineer meerdere xml / csv-bestanden in een blad of een werkmap met Kutools voor Excel
Maak je geen zorgen als je niet bekend bent met VBA, hier introduceer ik een handige tool - Kutools for Excel voor jou. Met zijn krachtig Combineren hulpprogramma kunt u snel meerdere xml-bestanden of csv-bestanden combineren in één werkmap of één Excel-blad.
Kutools for Excel, met meer dan 300 handige functies, maakt uw werk eenvoudiger. | ||
Na het installeren van Kutools voor Excel, doe het als volgt:(Download nu Kutools voor Excel!)
1. Actieve Excel, en klik op Koetools Plus > Combineren. Zie screenshot:
2. En in de stap 1 van Combineren dialoogvenster, kies een scheidingsoptie zoals je nodig hebt. Zie screenshot:
3. klikken Volgende naar stap 2 van de Combineren, Klik Toevoegen om bestanden uit verschillende mappen of bestanden uit een map toe te voegen aan werkboek lijst, en u kunt ook de bladen specificeren waaruit u wilt combineren Werkblad lijst van rechter sectie. Zie screenshot:
4. klikken Volgende naar de laatste stap van Combineren, en u kunt de combineeropties specificeren.
5. klikken Finish, verschijnt er een dialoogvenster om u eraan te herinneren een locatie te selecteren om het nieuwe gecombineerde resultaat op te slaan. Zie screenshot:
6. klikken Bespaar. Alle toegevoegde bladen zijn gecombineerd tot een nieuw enkel blad.
Tip: met Combineren, je kunt er ook meerdere combineren CSV-bestanden vorm meerdere mappen of één map in één blad of werkmap.
Combineer meerdere XML- / CVS-bestanden in één blad / werkmap
Exporteer elk blad als csv / text / pdf naar een map met Kutools voor Excel
Als u elk blad als csv / tekst / pdf-bestand naar een map wilt exporteren, Kutools for Excel's Werkmap splitsen hulpprogramma kan een plezier voor je doen.
Na gratis installeren Kutools voor Excel, doe het als volgt:
1. Schakel de werkmap in waarvan u de werkbladen wilt exporteren en klik op Koetools Plus > werkboek > Werkmap splitsen. Zie screenshot:
2. In de Werkmap splitsen dialoogvenster, kunt u de bladnamen controleren die u nodig hebt om te exporteren, standaard worden alle bladen gecontroleerd en gecontroleerd Geef het opslagformaat op en selecteer het bestandsformaat dat u wilt opslaan zoals in de onderstaande vervolgkeuzelijst. Zie screenshot:
3. klikken Split en selecteer een map waarin u de gesplitste bestanden wilt opslaan in het Blader naar de map dialoog, zie screenshot:
4. klikken OK, worden nu alle aangevinkte bladen geëxporteerd als een nieuw bestandsformaat in de geselecteerde map.
Exporteer elk blad als één XML- / CSV- / TXT- / PDF-bestand
Relatieve artikelen:
- Hoe hyperlink naar platte tekst in Excel te converteren?
- Hoe decimaal getal om te zetten naar binair / octaal / hexadecimaal getal of omgekeerd in Excel?
- Hoe live wisselkoers invoegen in Excel?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!