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

Jak rychle hromadně importovat více souborů CSV / Text / XML v aplikaci Excel?

V aplikaci Excel jste možná svázali uložení sešitu jako soubor CSV, textový soubor nebo soubor XML, ale zkusili jste někdy importovat více souborů CSV / text / XML ze složky do sešitu nebo listu? V tomto článku představuji některé metody, jak je rychle hromadně importovat.

Importujte více textových souborů ze složky do každého listu sešitu pomocí VBA

Importujte více souborů CSV ze složky do jednoho listu pomocí VBA

Importujte více souborů XML ze složky do jednoho listu pomocí VBA

Importujte nebo kombinujte více souborů XML / CSV do listu nebo sešitu pomocí Kutools pro Excel dobrý nápad3

Exportujte každý list jako csv / text / pdf do složky pomocí Kutools pro Exceldobrý nápad3


Chcete-li importovat textové soubory ze složky do sešitu, můžete jej rychle zpracovat pomocí VBA níže.

1. Povolte prázdný sešit a stiskněte Alt + F11 klíče k otevření Microsoft Visual Basic pro aplikace okno.

2. cvaknutí Vložit > Modula vložte VBA do Modul okno.

VBA: Importujte všechny textové soubory ze složky do sešitu

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. lis F5 nebo Běh tlačítko pro spuštění VBA a v rozbalovacím dialogovém okně vyberte složku, ze které chcete importovat textové soubory. Viz screenshot:

import dokumentů více textů ve formátu CSV XML 1

4. A klikněte OKa každý textový soubor ve vybrané složce byl importován do jednoho listu aktivního sešitu. Viz snímek obrazovky:

import dokumentů více textů ve formátu CSV XML 2import dokumentů více textů ve formátu CSV XML 3

Snadno kombinujte více listů / sešit do jednoho listu nebo sešitu

Kombinovat vícenásobné listy nebo sešity do jednoho listu nebo sešitu může být v aplikaci Excel náročné, ale s Kombinovat funkce v Kutools pro Excel, můžete kombinovat desítky listů / sešitů do jednoho listu nebo sešitu, také můžete sloučit listy do jednoho pouze několika kliknutími.  Kliknutím zobrazíte 30denní bezplatnou zkušební verzi s plnou funkčností!
kombinovat listy
 
Kutools pro Excel: s více než 300 praktickými doplňky Excel, můžete vyzkoušet bez omezení za 30 dní.

Chcete-li importovat všechny soubory CSV ze složky do jednoho listu, můžete použít níže uvedený kód VBA.

1. Povolte prázdný list a stiskněte Alt + F11 klíče k otevření Microsoft Visual Basic pro aplikace okno.

2. cvaknutí Vložit > Modula vložit pod VBA do nového Modul okno.

VBA: Importujte soubory CSV ze složky do jednoho listu

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. lis F5 klíč nebo klik Běh tlačítko pro spuštění VBA a objeví se dialogové okno pro výběr složky, ze které chcete importovat všechny soubory CSV. Viz screenshot:

import dokumentů více textů ve formátu CSV XML 4

4. cvaknutí OK, a objeví se dialogové okno, které vám připomene, pokud před importem vyčistíte obsah aktivního listu, zde kliknu Ano. Viz snímek obrazovky:

import dokumentů více textů ve formátu CSV XML 5

po kliknutí Ano, všechny soubory CSV ve vybrané složce se importují do aktuálního listu a umístí data ze sloupce A doprava. Viz screenshot:

import dokumentů více textů ve formátu CSV XML 6import dokumentů více textů ve formátu CSV XML 7

Tip: Chcete-li soubory CSV umístit vodorovně do listu, můžete použít níže uvedený VBA.

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 

import dokumentů více textů ve formátu CSV XML 8


Pokud chcete importovat všechny soubory XML ze složky do jednoho listu, můžete použít níže uvedený kód VBA.

1. Vyberte prázdný list, do kterého chcete umístit importovaná data, a stiskněte Alt + F11 klíče k povolení Microsoft Visual Basic pro aplikace okno.

2. cvaknutí Vložit > Modul, vložte kód VBA do Modul okno.

VBA: Importujte soubory XML ze složky do listu.

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. cvaknutí Běh nebo F5 klíč ke spuštění VBA a v rozbalovacím dialogovém okně vyberte složku, viz screenshot:

import dokumentů více textů ve formátu CSV XML 9

4. cvaknutí OKa všechny soubory XML ve vybrané složce se importují do aktivního listu.


Pokud nejste obeznámeni s VBA, dělejte si starosti, zde představuji užitečný nástroj - Kutools pro Excel pro tebe. S jeho silným Kombinovat nástroj, můžete rychle kombinovat více souborů XML nebo CSV do jednoho sešitu nebo jednoho listu aplikace Excel.

Kutools pro Excel, s více než 300 užitečné funkce, které vám usnadní práci. 

Po instalaci Kutools pro Excel, prosím, postupujte takto:(Zdarma ke stažení Kutools pro Excel nyní!)

1. Aktivní Excel a klepněte na Kutools Plus > Kombinovat. Viz screenshot :
doc kombinovat 1

2. A v krok 1 kombinace dialogové okno, vyberte jednu možnost oddělení, jak potřebujete Viz snímek obrazovky:
doc kombinovat 2

3. cvaknutí další jít do krok 2 kombinace, Klepněte na tlačítko přidat přidat soubory z různých složek nebo soubory z jedné složky do Cvičebnice seznamu a také můžete určit listy, ze kterých chcete kombinovat Pracovní list seznam pravé části. Viz screenshot:
doc kutools kombinovat listy 3

4. cvaknutí další do posledního kroku Kombinovata můžete určit možnosti kombajnu.
doc kutools kombinovat listy 4

5. cvaknutí úprava, objeví se dialogové okno, které vám připomene, abyste vybrali místo pro uložení nového kombinovaného výsledku. Viz snímek obrazovky:
doc kombinovat 5

6. cvaknutí Uložit. Všechny přidané listy byly sloučeny do nového jediného listu.
doc kombinovat 6

Tip: S Kombinovat, můžete také kombinovat více Soubory CSV vytvořit více složek nebo jednu složku do jednoho listu nebo sešitu.


Pokud chcete exportovat každý list jako soubor csv / text / pdf do složky, Kutools pro ExcelJe Rozdělit sešit nástroj vám může udělat laskavost.

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. Povolte sešit, do kterého chcete exportovat jeho listy, a klikněte na Kutools Plus > Cvičebnice > Rozdělit sešit. Viz snímek obrazovky:

import dokumentů více textů ve formátu CSV XML 10

2. V Rozdělit sešit V dialogovém okně můžete zkontrolovat názvy listů, které potřebujete exportovat, ve výchozím nastavení jsou všechny listy zaškrtnuty a zkontrolovat Určete formát uložení a z níže uvedeného rozevíracího seznamu vyberte formát souboru, který chcete uložit. Viz screenshot:

import dokumentů více textů ve formátu CSV XML 11

3. cvaknutí Rozdělit a vyberte složku, do které chcete rozdělené soubory uložit do souboru Vyhledejte složku dialog, viz screenshot:

import dokumentů více textů ve formátu CSV XML 12

4. cvaknutí OK, nyní jsou všechny zaškrtnuté listy exportovány jako nový formát souboru do vybrané složky.


Relativní články:


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50% a omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (35)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Dobrý den, moc děkuji za ukázky kódu! První (VBA: Import všech textových souborů ze složky do sešitu) je téměř přesně to, co potřebuji. Chtěl bych však vybrat, které soubory se mají importovat, a neimportovat automaticky všechny textové soubory v dané složce. Také bych chtěl, aby byl výstupní obsah mých cílových listů přepsán obsahem textových souborů. (S výše uvedeným kódem je stávající obsah posunut doprava, místo aby byl nahrazen.) Jak na to? Díky předem!
Tento komentář byl moderátorem webu minimalizován
Ahoj, rád bych porozuměl kódu VBA pro "Import více souborů Xml ze složky do jednoho listu pomocí VBA". 1. Proč jsou potřeba 2 sešity místo 1? 2. Načtení mnoha xml souborů do excelu nějakou dobu trvá, existuje tedy efektivnější kód? Protože si uvědomuji, kdy byl váš kód spuštěn, bylo vytvořeno mnoho sešitů VBA, které způsobilo zpomalení. Opravdu bych ocenil, kdybyste mi pomohli pochopit!
Tento komentář byl moderátorem webu minimalizován
Promiňte, nerozuměl jsem první otázce au druhé, účinnějšího kódu, jsem ho nenašel, pokud víte, zanechte mi prosím poznámku, děkuji.
Tento komentář byl moderátorem webu minimalizován
Ahoj, rád bych porozuměl kódu VBA pro "Import více souborů .txt ze složky na jeden list s VBA" podle dalšího dostupného řádku (ne vodorovně). Prosím o pomoc, naléhavé
Tento komentář byl moderátorem webu minimalizován
Dobrý den, pokud chcete importovat všechny soubory txt z jedné složky do jednoho listu, můžete pomocí výše uvedeného kódu vba nejprve importovat soubory txt do sešitu a poté použít funkci Kombinovat sešity Kutools for Excel ke spojení všech listů sešitu do jeden list, pak soubory txt na listu. Doufám, že vám to pomůže.
Tento komentář byl moderátorem webu minimalizován
Problém je v tom, že příkaz VBA ani Kutools umožňují importovat soubory csv s formátováním znakového kódu. Předpětí je západní. Potřebuji importovat všechny soubory csv jako unicode-8
Tento komentář byl moderátorem webu minimalizován
kód pro převod z txt souborů mi nefungoval.
Tento komentář byl moderátorem webu minimalizován
Omlouváme se, tento článek pro vás nefunguje. Mohl bys popsat svůj problém? Co se stane při spouštění kódu? A jakým systémem pracuješ?
Tento komentář byl moderátorem webu minimalizován
Ahoj! Kód "Importovat soubory csv ze složky do jednoho listu" funguje pro mě! Tento kód však nefunguje pro prázdný soubor .txt. Existuje nějaký způsob, jak zachovat také prázdné soubory?
Tento komentář byl moderátorem webu minimalizován
Promiňte, nevím, proč je potřeba importovat prázdný soubor txt.~Pro oddělení obsahu stačí vložit prázdné řádky.
Tento komentář byl moderátorem webu minimalizován
Mike: "Nefungoval mi kód pro převod z txt souborů."

Měl jsem stejný problém. Pokud máte k otevření více souborů txt než listů v sešitu, dojde k chybám makra (výchozí je 3).
Opravil jsem to přidáním následujícího těsně před ukončením smyčky, takže makro po zbytku vytvoří nový list
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Tento komentář byl moderátorem webu minimalizován
Chade, to mi dokonale fungovalo pro import více textových souborů. Děkuji.

Víte, jestli existuje způsob, jak získat názvy souborů? Chci, aby se názvy textových souborů zkopírovaly do jednotlivých karet listu Excel.
Tento komentář byl moderátorem webu minimalizován
Naprosto úžasné! Vyzkoušeli jsme otevřít všechny soubory csv v jednom listu a fungovalo to krásně. Díky moc, opravdu!
Tento komentář byl moderátorem webu minimalizován
Dobrý den, zkoušel jsem spustit kód pro .xml a nezdálo se, že by fungoval, protože se mi zobrazila zpráva "žádné soubory xml". jak to opravit?
Tento komentář byl moderátorem webu minimalizován
Zobrazí se zpráva „žádné soubory xml“, zatímco vybraná složka neobsahuje soubory xml. Po spuštění kódu pro jejich import do aktivního listu můžete v vyskakovacím dialogu vybrat správnou složku, která obsahuje soubory xml.
Tento komentář byl moderátorem webu minimalizován
Fungovalo to! dík
Tento komentář byl moderátorem webu minimalizován
ahoj, saya mau tanya kalo import txt souboru ke satu list gimana ano?
Tento komentář byl moderátorem webu minimalizován
Dobrý den, rendy, chcete importovat všechny txt do jednoho listu nebo každý txt do každého listu?
Tento komentář byl moderátorem webu minimalizován
Mám kód pro import txtů do listů každý txt do každého listu, ale chci, aby každý txt byl importován s jeho názvem na list, myslím tím přejmenovat každý importovaný list názvem txt souboru s kódem přiloženým.. chci to upravit soubor pro přidání kódu pro přejmenování listů s názvem txts ... díky.
Tento komentář byl moderátorem webu minimalizován
Mám kód pro import souborů txt do listů každý txt na každý list, ale chci, aby každý txt byl importován s jeho názvem na list, myslím tím přejmenování každého importovaného listu s názvem txt souboru s kódem v příloze .. díky
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Ramy, zahrane, můžete zkusit níže uvedený kód, který umí importovat textové soubory a přejmenovat název listu na název textového souboru.
Sub LoadPipeDelimitedFiles()
'AktualizovatExtendoffice20180925
Dim xStrPath jako řetězec
Dim xFileDialog jako FileDialog
Dim xFile As String
Dim xCount As Long
Dim xWS jako pracovní list

Při chybě GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.title = "Vyberte složku [Kutools pro Excel]"
Pokud xFileDialog.Show = -1 Pak
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Pak Exit Sub
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\*.txt")
Dělat, zatímco xFile <> ""
xCount = xCount + 1
Nastavit xWS = Listy (xCount)
xWS.Vybrat
xWS.Name = "TEXT " & Left(xFile, Len(xFile) - 4)
S 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 = Pravda
.AdjustColumnWidth = Pravda
.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 = Pravda
.Refresh BackgroundQuery:=Nepravda
xFile = Dir
Konec s
Smyčka
Application.ScreenUpdating = True
Konec Sub
ErrHandler:
MsgBox "žádné soubory txt", , "Kutools pro Excel"
End Sub
Tento komentář byl moderátorem webu minimalizován
Ahoj! Použil jsem kód ke sloučení více souborů XML do jednoho, ale bohužel se sloupce pokazily. Všech 5 slučovaných souborů mělo stejný formát. Dá se to nějak opravit? Také mě zajímalo, jestli existuje způsob, jak se zbavit hlaviček, které se při sloučení souborů duplikují. Děkuji!
Tento komentář byl moderátorem webu minimalizován
Děkuji. Tato stránka byla velkou pomocí. Mám jeden problém, se kterým si nevím rady. Snažím se importovat více souborů csv do samostatných listů aplikace Excel v aplikaci Excel a nechat každý list přejmenovat podle názvu souboru souboru csv. Vím, že to bylo popsáno níže pro soubor txt, ale pracuji se soubory csv. Díky předem.
Tento komentář byl moderátorem webu minimalizován
Ahoj - používám import všech souborů csv do jednoho souboru uvedeného výše "Importovat více souborů Csv ze složky do jednoho listu pomocí VBA" - chtěl bych definovat složku, ze které shromažďuje data, aniž bych musel ručně vybírat to. Dá se to udělat? díky - SW.
Tento komentář byl moderátorem webu minimalizován
Ahoj, Scotte W, našel jsem kód VBA, který vám může pomoci.
Možnost explicitní

Sub ImportCSVsWithReference()
„Autor: Jerry Beaucaire
'Datum: 10
'Shrnutí: Importujte všechny soubory CSV ze složky na jeden list
' přidání pole do sloupce A se seznamem názvů souborů CSV

Dim wbCSV jako sešit
Dim wsMstr As Worksheet: Set wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'cesta k souborům CSV, včetně konečné \
Ztlumit fCSV jako řetězec

Pokud MsgBox("Vymazat existující list před importem?", vbYesNo, "Vymazat?") _
= vbYes Potom wsMstr.UsedRange.Clear

Application.ScreenUpdating = False 'zrychlení makra

fCSV = Dir(fPath & "*.csv") 'spustí výpis souboru CSV

Do While Len(fCSV) > 0
'otevřít soubor CSV
Nastavit wbCSV = Workbooks.Open(fPath & fCSV)
'vložte sloupec A a přidejte název CSV
Columns(1).Insert xlShiftToRight
Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
'zkopírujte datum do hlavního listu a zavřete zdrojový soubor
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.Close False
'připraven další CSV
fCSV = Dir
Smyčka

Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Jak odstranit duplicitní záhlaví a sloupec názvu souboru CSV. Prosím o pomoc....Prošel jsem několik článků, ale bohužel všechny dávají stejný výsledek.
Tento komentář byl moderátorem webu minimalizován
Dobrý den, použil jsem vaše kódy VBA k extrahování dat z více souborů CSV do souboru Excel (kód na této stránce) a převodu souborů csv na soubory Excel (tento: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), se skvělými výsledky. Pomohli mi ušetřit spoustu času.

Všiml jsem si však společného problému s oběma těmito typy kódů. Abych to objasnil, můj systém je nastaven tak, aby používal evropské standardy pro data, zatímco některé soubory CSV, které jsem obdržel pro svou práci, obsahují data v amerických standardech. První problém je, že když extrahuji nebo konvertuji data ze souboru CSV, který obsahuje data v americkém formátu, všechna tato data jsou obrácená (odpovídající standardům EU používaným mým systémem). To je skvělé, ale také mi to způsobilo problémy, protože jsem nevěděl, že mi kódy změní data, takže jsem pokračoval a udělal to samé znovu. Druhým problémem je, že u souborů CSV, které obsahují data již ve stejném formátu, jaký používá můj systém (normy EU), jsou obrácena pouze nejednoznačná data (tj. 04. 05. 2019 - 05. 04. 2019), zatímco ty, které jsou příliš zřejmé, zůstávají nezměněny (tj. 30).

Chtěl bych, aby kódy dělaly přesně to samé, co jsou zde zobrazeny, pouze by měly zkopírovat a vložit data (zejména data) v přesných formátech použitých v původních souborech. Pomohlo by to předejít případným nejasnostem a omylům. Rád bych se naučil VBA, abych mohl jednoho dne psát vlastní kódy, ale zatím nejsem schopen ani upravovat části stávajících kódů tak, aby vyhovovaly mým potřebám. Takže pokud můžete pomoci, řekněte mi, prosím, kam bych měl vložit upravené kódy (které vymyslíte) ke stávajícím kódům. Oceňuji veškerou zpětnou vazbu a podporu, kterou mohu získat. Děkuji vám všem!
Tento komentář byl moderátorem webu minimalizován
Ahoj Marshalle, v metodě Workbooks.Open přidejte možnost Local:=True.

tj.
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
Tento komentář byl moderátorem webu minimalizován
Roberte moc děkuji. Omlouvám se, že jsem vám nemohl odpovědět dříve. Do teď jsem nedostal žádné upozornění. Vyzkouším to a vrátím se k vám později, abych vám řekl, zda to funguje.
Tento komentář byl moderátorem webu minimalizován
Ahoj Robert,
To jsem zase já. Chvíli mi trvalo, než jsem měl čas zjistit, do které části kódu by se měla přidat část „Local:True“. Výsledek dopadl skvěle, protože data již nejsou obrácená. Děkuji!
Pro každého, kdo má stejný problém, stačí změnit tento řádek:
Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)

K tomuto:
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
Tento komentář byl moderátorem webu minimalizován
Ahoj, existuje nějaký způsob, jak importovat více souborů csv se středníkem jako oddělovačem? Děkuji!
PS Pěkný článek!
Tento komentář byl moderátorem webu minimalizován
Ahoj tým

Používám kód pro import více souborů XML do jednoho listu pomocí VBA, ale problém, kterému čelím, je, když počet řádků dosáhne přibližně 650000 XNUMX, pak nezpracuje zbytek xml souborů ve složce a zobrazí chybu, že žádné xml soubory . Ke zvýšení tohoto počtu potřebujete vaši podporu.
Tento komentář byl moderátorem webu minimalizován
Zdraví odborníci

Používám výše uvedený kód pro import více souborů xml do 1 listu pomocí VBA, ale problém, kterému čelím, je, když počet řádků dosáhne 650000 XNUMX v listu, pak tento kód nezpracovává zbytek souborů xml ve složce. Hlásí chybu „no files.xml“. Vyžadujte vaši laskavou podporu
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Pokyny pro import více souborů xml na jednu kartu dokumentu aplikace Excel fungují, ale zajímalo by mě, jak je přimět k seřazení sloupců. Moje soubory xml nemají všechny stejné značky. Jsou nastaveny tak, že pokud xml neměl žádná data pro některé hlavičky (značky), pak hlavička v tomto xml chybí. Existuje způsob, jak přimět soubory xml k importu, aby stejná záhlaví z každého xml a související data spadala do stejného sloupce aplikace Excel?
Zatím zde nejsou žádné komentáře
Načíst další
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění