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

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 goed idee 3

Exporteer elk blad als csv / text / pdf naar een map met Kutools voor Excelgoed idee 3


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:

doc importeer meerdere csv-tekst xml 1

4. En klik OK, en elk tekstbestand in de geselecteerde map is geïmporteerd in één werkblad van de actieve werkmap. Zie screenshot:

doc importeer meerdere csv-tekst xml 2doc importeer meerdere csv-tekst xml 3

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 volledige functionaliteit 30 dagen gratis op proef!
combineer bladen
 
Kutools for Excel: met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen.

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:

doc importeer meerdere csv-tekst xml 4

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:

doc importeer meerdere csv-tekst xml 5

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:

doc importeer meerdere csv-tekst xml 6doc importeer meerdere csv-tekst xml 7

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 

doc importeer meerdere csv-tekst xml 8


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:

doc importeer meerdere csv-tekst xml 9

4. klikken OK, en alle XML-bestanden in de geselecteerde map worden geïmporteerd in het actieve blad.


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:
doc combineren 1

2. En in de stap 1 van Combineren dialoogvenster, kies een scheidingsoptie zoals je nodig hebt. Zie screenshot:
doc combineren 2

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:
doc kutools combineren bladen 3

4. klikken Volgende naar de laatste stap van Combineren, en u kunt de combineeropties specificeren.
doc kutools combineren bladen 4

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:
doc combineren 5

6. klikken Opslaan. Alle toegevoegde bladen zijn gecombineerd tot een nieuw enkel blad.
doc combineren 6

Tip: met Combineren, je kunt er ook meerdere combineren CSV-bestanden vorm meerdere mappen of één map in één blad of werkmap.


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:

doc importeer meerdere csv-tekst xml 10

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:

doc importeer meerdere csv-tekst xml 11

3. klikken Split en selecteer een map waarin u de gesplitste bestanden wilt opslaan in het Blader naar de map dialoog, zie screenshot:

doc importeer meerdere csv-tekst xml 12

4. klikken OK, worden nu alle aangevinkte bladen geëxporteerd als een nieuw bestandsformaat in de geselecteerde map.


Relatieve artikelen:


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

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!
officetab onderkant
Heb je vragen? Stel ze hier. (36)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hallo daar, heel erg bedankt voor die codevoorbeelden! De eerste (VBA: importeer alle tekstbestanden uit een map in een werkmap) is bijna precies wat ik nodig heb. Ik zou echter willen selecteren welke bestanden moeten worden geïmporteerd en niet automatisch alle tekstbestanden in een bepaalde map importeren. Ik zou ook willen dat de bestaande inhoud van mijn doelbladen wordt overschreven door de inhoud van de tekstbestanden. (Met bovenstaande code wordt de bestaande inhoud naar rechts verschoven in plaats van vervangen.) Hoe pak ik dat aan? Bij voorbaat dank!
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik zou graag meer willen weten over de VBA-code voor "Meerdere XML-bestanden uit een map importeren in een enkel blad met VBA". 1. Waarom zijn er 2 werkmappen nodig in plaats van 1? 2. Het duurt even om veel xml-bestanden in Excel te laden, dus is er een efficiëntere code? Omdat ik me realiseer dat wanneer uw code werd uitgevoerd, er veel VBA-werkmappen zijn gemaakt die de vertraging hebben veroorzaakt. Ik zou het erg op prijs stellen als je me kunt helpen het te begrijpen!
Deze opmerking is gemaakt door de moderator op de site
Sorry, ik begreep je eerste vraag niet, en over de tweede, de efficiëntere code, heb ik het niet gevonden, als je het weet, laat dan alsjeblieft een briefje voor me achter, bedankt.
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik zou graag meer willen weten over de VBA-code voor "Meerdere .txt-bestanden importeren uit een map naar een enkel blad met VBA" door de volgende beschikbare rij (niet horizontaal). Gelieve te helpen, dringend
Deze opmerking is gemaakt door de moderator op de site
Hallo, als u alle txt-bestanden van de ene map naar een enkel blad wilt importeren, kunt u de bovenstaande vba-code gebruiken om eerst txt-bestanden naar een werkmap te importeren en vervolgens Kutools voor Excel toepassen's Werkbladen combineren functie om alle bladen van een werkmap te combineren naar één blad, dan de txt-bestanden in een blad. Hoop dat het je helpt.
Deze opmerking is gemaakt door de moderator op de site
Het probleem hiermee is dat het VBA-commando noch Kutools toestaat om de csv-bestanden te importeren met tekencode-opmaak. De voorbelasting is western. Ik moet alle csv-bestanden importeren als unicode-8
Deze opmerking is gemaakt door de moderator op de site
de code voor het converteren van txt-bestanden werkte niet voor mij.
Deze opmerking is gemaakt door de moderator op de site
Sorry dat dit artikel niet voor u werkt. Zou je je probleem kunnen omschrijven? Wat gebeurt er tijdens het uitvoeren van de code? En met welk systeem werk je?
Deze opmerking is gemaakt door de moderator op de site
Hoi! De code "Importeer csv-bestanden uit een map in één werkblad", werkt voor mij! Maar deze code werkt niet voor een leeg .txt-bestand. Is er een manier om ook de lege bestanden te behouden?
Deze opmerking is gemaakt door de moderator op de site
Sorry, ik weet niet waarom ik een leeg txt.file moet importeren~Voer gewoon lege rijen in om de inhoud te scheiden.
Deze opmerking is gemaakt door de moderator op de site
Mike: "de code voor het converteren van txt-bestanden werkte niet voor mij."

Ik had hetzelfde probleem. De macro fouten uit als je meer txt-bestanden hebt om te openen dan werkbladen in je werkmap (standaard is 3).
Ik heb het opgelost door het volgende toe te voegen net voordat de lus wordt afgesloten, zodat de macro na de rest een nieuw blad maakt
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Deze opmerking is gemaakt door de moderator op de site
Tsjaad, dit werkte perfect voor mij om meerdere tekstbestanden te importeren. Dank u.

Weet u of er een manier is om de bestandsnamen op te halen? Ik wil dat de namen van de tekstbestanden naar elke Excel-bladtabblad worden gekopieerd.
Deze opmerking is gemaakt door de moderator op de site
Helemaal geweldig! Ik heb geprobeerd alle csv-bestanden in één werkblad te openen en het werkte prachtig. Heel erg bedankt, echt!
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb geprobeerd de code voor .xml uit te voeren en het leek niet te werken omdat ik het bericht "geen bestanden xml" kreeg. Hoe dit oplossen?
Deze opmerking is gemaakt door de moderator op de site
Er verschijnt een bericht "no files xml" terwijl de geselecteerde map geen xml-bestanden bevat. U kunt de juiste map selecteren die xml-bestanden bevat in het popping-dialoogvenster nadat u de code hebt uitgevoerd om ze naar het actieve blad te importeren.
Deze opmerking is gemaakt door de moderator op de site
Het werkte! Bedankt
Deze opmerking is gemaakt door de moderator op de site
hallo, saya mau tanya kalo import txt-bestand ke satu sheet gimana ya?
Deze opmerking is gemaakt door de moderator op de site
Hallo, rendy, wil je alle txts naar één blad of elke txt naar elk blad importeren?
Deze opmerking is gemaakt door de moderator op de site
ik heb code om txts naar bladen te importeren, elke txt naar elk blad, maar ik wil dat elke txt wordt geïmporteerd met zijn naam naar blad, ik bedoel hernoem elk geïmporteerd blad met de naam van de txt het codebestand bijgevoegd .. ik wil dit bewerken bestand om code toe te voegen voor het hernoemen van bladen met txts-naam ... bedankt.
Deze opmerking is gemaakt door de moderator op de site
ik heb code om txts naar bladen te importeren, elke txt naar elk blad, maar ik wil dat elke txt wordt geïmporteerd met zijn naam naar blad, ik bedoel hernoem elk geïmporteerd blad met de naam van de txt het codebestand bijgevoegd .. bedankt
Deze opmerking is gemaakt door de moderator op de site
Hallo, Ramy, zahran, je kunt onderstaande code proberen die de tekstbestanden kan importeren en de bladnaam kan hernoemen naar de naam van het tekstbestand.
Sub LoadPipeDelimitedFiles()
'Bijwerken door'Extendoffice20180925
Dim xStrPath als string
Dim xFileDialog als FileDialog
Dim xFile als string
Dim x Tel zo lang
Dim xWS als werkblad

Bij fout Ga naar ErrHandler
Stel xFileDialog = Application.FileDialog (msoFileDialogFolderPicker) in
xFileDialog.AllowMultiSelect = Onwaar
xFileDialog.title = "Selecteer een map [Kutools for Excel]"
Als xFileDialog.Show = -1 Dan
xStrPath = xFileDialog.SelectedItems(1)
End If
Als xStrPath = "" Sub afsluiten
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\*.txt")
Doen terwijl xFile <> ""
xAantal = xAantal + 1
Stel xWS = Vellen (xCount) in
xWS.Selecteren
xWS.Name = "TEXT" & Links(xFile, Len(xFile) - 4)
Met ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xFile, Destination:=Bereik("A1"))
.Naam = "a" & xCount
.Veldnamen = True
.Rijnummers = False
.FillAangrenzendeFormules = Onwaar
.PreserveFormatting = Waar
.RefreshOnFileOpen = Onwaar
.RefreshStyle = xlInsertCells verwijderen
.SavePassword = Onwaar
.SaveData = Waar
.AdjustColumnWidth = Waar
.RefreshPeriode = 0
.TextFilePromptOnRefresh = Onwaar
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = Onwaar
.TextFileTabDelimiter = Onwaar
.TextFileSemicolonDelimiter = Onwaar
.TextFileCommaDelimiter = Onwaar
.TextFileSpaceDelimiter = Onwaar
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array (1, 1, 1)
.TextFileTrailingMinusNumbers = Waar
.Achtergrondquery vernieuwen:=False
xBestand = Dir
Eindigt met
Ringleiding
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox "geen bestanden txt", , "Kutools voor Excel"
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hoi! Ik heb de code gebruikt om meerdere XML-bestanden samen te voegen tot één, maar helaas zijn de kolommen in de war geraakt. De 5 bestanden die werden samengevoegd, hadden allemaal hetzelfde formaat. Is er een manier om dit op te lossen? Ik vroeg me ook af of er een manier was om de headers te verwijderen die worden gedupliceerd wanneer de bestanden worden samengevoegd. Dank u!
Deze opmerking is gemaakt door de moderator op de site
Dank u. Deze site is een grote hulp geweest. Ik heb een probleem waar ik niet uitkom. Ik probeer meerdere csv-bestanden te importeren in afzonderlijke Excel-bladen in Excel en elk blad te hernoemen naar de bestandsnaam van het csv-bestand. Ik weet dat dit hieronder is behandeld voor een txt-bestand, maar ik werk met csv-bestanden. Bij voorbaat dank.
Deze opmerking is gemaakt door de moderator op de site
Hallo - ik gebruik de importeer alle csv-bestanden in één hierboven vermeld bestand "Importeer meerdere Csv-bestanden uit een map in een enkel blad met VBA" - ik zou graag de map definiëren waaruit de gegevens worden verzameld zonder handmatig te hoeven kiezen het. Kan dit? bedankt - SW.
Deze opmerking is gemaakt door de moderator op de site
Hallo, Scott W, ik heb ontdekt dat een VBA-code je kan helpen.
Optie Expliciet

Sub ImportCSVsWithReference()
'Auteur: Jerry Beaucaire'
'Datum: 10-16-2010
'Samenvatting: Importeer alle CSV-bestanden uit een map in één blad
' een veld toevoegen in kolom A met de CSV-bestandsnamen

Dim wbCSV als werkmap
Dim wsMstr als werkblad: stel wsMstr = ThisWorkbook.Sheets("Blad1") in
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'pad naar CSV-bestanden, inclusief de laatste \
Dim fCSV als string

If MsgBox("Wis het bestaande blad voordat u importeert?", vbYesNo, "Clear?") _
= vbJa Dan wsMstr.UsedRange.Clear

Application.ScreenUpdating = False 'macro versnellen'

fCSV = Dir(fPath & "*.csv") 'start de CSV-bestandslijst'

Doen terwijl Len (fCSV) > 0
'open een CSV-bestand'
Stel wbCSV = Werkmappen in.Open(fPath & fCSV)
'vul col A in en voeg CSV-naam toe'
Kolommen(1).Insert xlShiftToRight
Kolommen(1).SpecialCells(xlBlanks).Waarde = ActiveSheet.Name
'kopieer datum naar hoofdblad en sluit bronbestand'
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.Sluiten False
'klaar volgende CSV
fCSV = Dir
Ringleiding

Application.ScreenUpdating = True
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hoe dubbele koptekst en CSV-bestandsnaamkolom te elimineren. Help alstublieft .... Ik heb verschillende artikelen doorgenomen, maar helaas geven ze allemaal hetzelfde resultaat.
Deze opmerking is gemaakt door de moderator op de site
Hallo - Ik heb uw VBA-codes gebruikt om gegevens uit meerdere CSV-bestanden te extraheren om een ​​Excel-bestand te maken (de code op deze pagina) en csv-bestanden om te zetten naar Excel-bestanden (deze: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), met geweldige resultaten. Ze hebben me geholpen veel tijd te besparen.

Ik merk echter een veelvoorkomend probleem op met beide soorten codes. Ter verduidelijking: mijn systeem is ingesteld om de Europese normen voor datums te gebruiken, terwijl sommige van de CSV-bestanden die ik voor mijn werk heb ontvangen, datums in Amerikaanse normen bevatten. Het eerste probleem is dat wanneer ik gegevens extraheer of converteer uit een CSV-bestand dat datums in Amerikaans formaat bevat, al die datums worden omgekeerd (overeenkomstig de EU-normen die door mijn systeem worden gebruikt). Dit is geweldig, maar het veroorzaakte ook problemen omdat ik niet wist dat de codes de datums voor mij zouden omdraaien, dus ik ging door en deed hetzelfde opnieuw. Het tweede probleem is dat voor de CSV-bestanden die datums bevatten die al in hetzelfde formaat staan ​​als het formaat dat door mijn systeem (EU-normen) wordt gebruikt, alleen de dubbelzinnige datums worden omgedraaid (dwz 04/05/2019 - 05/04/2019), terwijl degenen die te voor de hand liggend zijn, ongewijzigd blijven (dwz 30/04/2019).

Wat ik zou willen dat de codes doen, is precies hetzelfde als ze hier worden getoond, alleen dat ze de gegevens (vooral datums) moeten kopiëren en plakken in de exacte indelingen die in de originele bestanden worden gebruikt. Dit zou eventuele verwarring en fouten helpen voorkomen. Ik zou graag VBA willen leren zodat ik ooit mijn eigen codes kan schrijven, maar op dit moment ben ik niet eens in staat om delen van de bestaande codes aan te passen aan mijn behoeften. Dus als je me kunt helpen, vertel me dan waar ik de gewijzigde codes (die je bedenkt) bij de bestaande codes moet plaatsen. Ik waardeer alle feedback en ondersteuning die ik kan krijgen. Bedankt iedereen!
Deze opmerking is gemaakt door de moderator op de site
Hallo Marshall, voeg in de methode Workbooks.Open de optie Local:=True toe.

dat wil zeggen
Stel xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True) in
Deze opmerking is gemaakt door de moderator op de site
Heel erg bedankt Robbert. Sorry dat ik niet eerder op je kon reageren. Ik heb tot nu toe geen melding gekregen. Ik ga dit uitproberen en kom later bij je terug om je te laten weten of dit werkt.
Deze opmerking is gemaakt door de moderator op de site
Hallo robert
Ik ben het weer. Het kostte me een tijdje om echt de tijd te hebben om erachter te komen aan welk deel van de code het "Local:True"-gedeelte moet worden toegevoegd. Het resultaat is geweldig geworden omdat de datums niet meer worden omgedraaid. Dank u!
Voor iedereen die hetzelfde probleem heeft, verander gewoon deze regel:
Stel xWb = Workbooks.OpenXML in (xStrPath & "\" & xFile)

Hiernaar:
Stel xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True) in
Deze opmerking is gemaakt door de moderator op de site
Hallo, is er een manier om meerdere csv-bestanden te importeren met een puntkomma als scheidingsteken? Dank u!
PS Leuk artikel!
Deze opmerking is gemaakt door de moderator op de site
Hoi team

Ik gebruik de code voor het importeren van meerdere XML-bestanden in één blad met VBA, maar het probleem waar ik mee te maken heb, is wanneer het aantal rijen ongeveer 650000 bereikt, dan verwerkt het de rest van de xml-bestanden in de map niet en geeft het een foutmelding dat er geen xml-bestanden zijn . Uw steun nodig om dit aantal te verhogen.
Deze opmerking is gemaakt door de moderator op de site
Hallo experts

Ik gebruik de bovenstaande code voor het importeren van meerdere xml-bestanden in 1 werkblad met behulp van VBA, maar het probleem waarmee ik wordt geconfronteerd, is dat wanneer het aantal rijen 650000 in een werkblad bereikt, deze code de rest van de xml-bestanden in de map niet verwerkt. Het geeft een foutmelding "geen bestanden.xml". Uw vriendelijke steun nodig
Deze opmerking is gemaakt door de moderator op de site
Hallo De instructies voor het importeren van meerdere xml's in één tabblad van een Excel-document werken, maar vroeg me af hoe ik de kolommen kon uitlijnen. Mijn xml's hebben niet allemaal dezelfde tags. Ze zijn zo opgezet dat als de xml geen gegevens had voor sommige headers (tags), de header in die xml ontbreekt. Is er een manier om de xml's te laten importeren, zodat dezelfde headers van elke xml en de bijbehorende gegevens in dezelfde Excel-kolom vallen?
Er zijn nog geen reacties geplaatst
Laad meer
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL