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

Hogyan lehet gyorsan kötegelni több csv / text / xml fájl importálását az Excel programban?

Az Excel programban lehet, hogy megkötötte a munkafüzet csv fájlként, szövegfájlként vagy xml fájlként történő mentését, de megpróbált már több csv / text / xml fájlt importálni egy mappából egy munkafüzetbe vagy munkalapba? Ebben a cikkben bemutatok néhány módszert azok gyors kötegelt importálására.

Több szövegfájlt importálhat egy mappából a VBA-val ellátott munkafüzet minden munkalapjára

Több csv fájlt importálhat egy mappából egyetlen lapra a VBA segítségével

Több xml fájlt importálhat egy mappából egyetlen lapra a VBA segítségével

Több xml / csv fájlt importálhat vagy kombinálhat egy lapba vagy egy munkafüzetbe a Kutools for Excel programmal jó ötlet3

Exportálja az egyes lapokat csv / text / pdf formátumban egy mappába a Kutools for Excel programmaljó ötlet3


Szöveges fájlok importálásához egy mappából egy munkafüzetbe a VBA alatt gyorsan kezelheti.

1. Engedélyezze az üres munkafüzetet, majd nyomja meg az gombot Alt + F11 gombokat a megnyitáshoz Microsoft Visual Basic for Applications ablak.

2. kettyenés betétlap > Modulok, és illessze be a VBA-t a Modulok ablak.

VBA: Minden szövegfájl importálása egy mappából egy munkafüzetbe

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. nyomja meg F5 kulcs vagy futás gombot a VBA futtatásához, és a felbukkanó párbeszédpanelen válassza ki a mappát, ahonnan importálni szeretné a szöveges fájlokat. Lásd a képernyőképet:

doc import több csv text xml 1

4. És kattintson OK, és a kiválasztott mappában lévő minden szövegfájlt importálta az aktív munkafüzet egy munkalapjába. Lásd a képernyőképet:

doc import több csv text xml 2doc import több csv text xml 3

Kombináljon több lapot / munkafüzetet egyetlen lapba vagy munkafüzetbe

A többszörös munkalapok vagy munkafüzetek egyetlen lapba vagy munkafüzetbe való egyesítése nehéz lehet az Excel programban, de a Kombájn funkció a Kutools for Excel programban, több tucat lap / munkafüzet egyesítését egyetlen lapba vagy munkafüzetbe vonhatja össze, és csak több kattintással egyesítheti a lapokat eggyé.  Kattintson a teljes funkcionalitásért 30 napos ingyenes próbaverzió!
össze lapokat
 
Kutools for Excel: több mint 300 praktikus Excel-bővítménnyel, ingyenesen kipróbálható, korlátozás nélkül 30 nap.

Ha az összes csv fájlt egy mappából egyetlen lapba kívánja importálni, használhatja a VBA kód alatt.

1. Engedélyezzen egy üres munkalapot, majd nyomja meg az gombot Alt + F11 gombokat a megnyitáshoz Microsoft Visual Basic for Applications ablak.

2. kettyenés betétlap > Modulok, és illessze be a VBA alá az újba Modulok ablak.

VBA: Csv fájlok importálása egy mappából egy munkalapba

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. nyomja meg F5 vagy kattintson futás gombra kattintva hajthatja végre a VBA-t, és megjelenik egy párbeszédpanel egy mappa kiválasztásához, amelyből az összes csv fájlt importálni szeretné. Lásd a képernyőképet:

doc import több csv text xml 4

4. kettyenés OK, és megjelenik egy párbeszédpanel, amely emlékezteti Önt, ha importálás előtt törli az aktív munkalap tartalmát, itt kattintsak Igen. Lásd a képernyőképet:

doc import több csv text xml 5

Kattintás után Igen, a kiválasztott mappában található összes csv fájl importálódik az aktuális munkalapba, és az adatokat az A oszlopból jobbra helyezi. Lásd a képernyőképet:

doc import több csv text xml 6doc import több csv text xml 7

Tipp: Ha a csv fájlokat vízszintesen szeretné elhelyezni egy munkalapon, használhatja a VBA alatt.

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 import több csv text xml 8


Ha az összes XML fájlt egy mappából egyetlen lapra kívánja importálni, használhatja a VBA kód alatt.

1. Jelöljön ki egy üres lapot, ahová el szeretné helyezni az importált adatokat, majd nyomja meg a gombot Alt + F11 gombokat az engedélyezéshez Microsoft Visual Basic for Applications ablak.

2. kettyenés betétlap > Modulok, illessze be a VBA kódot a Modulok ablak.

VBA: XML fájlok importálása egy mappából egy munkalapba.

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. kettyenés futás gombot vagy F5 gombot a VBA futtatásához, és válasszon egy mappát a felbukkanó párbeszédpanelen, lásd a képernyőképet:

doc import több csv text xml 9

4. kettyenés OK, és a kiválasztott mappában található összes XML-fájlt importálja az aktív munkalapba.


Ha még nem ismeri a VBA-t, akkor aggódjon, itt bemutatok egy praktikus eszközt - Kutools az Excel számára neked. A hatalmas Kombájn segédprogrammal gyorsan kombinálhat több xml fájlt vagy csv fájlt egy munkafüzetbe vagy egy Excel munkalapba.

Kutools az Excel számára, Több mint 300 a praktikus funkciók megkönnyítik a munkáját. 

Telepítése után Kutools for Excel, kérjük, tegye az alábbiak szerint:(Ingyenes letöltés Kutools for Excel most!)

1. Aktív Excel, és kattintson a gombra Kutools Plus > Kombájn. Képernyőkép megtekintése :
doc kombájn 1

2. És a a Combine 1. lépése párbeszédpanelen válasszon egy elválasztási opciót, amire szüksége van. Lásd a képernyőképet:
doc kombájn 2

3. kettyenés Következő menni a Combine 2. lépésekettyenés hozzáad fájlok hozzáadásához különféle mappákból vagy fájlok egy mappából a Munkafüzet listát, és megadhatja azokat a lapokat is, amelyekből kombinálni szeretne Munkalap jobb oldali rész listája. Lásd a képernyőképet:
doc kutools kombinálja az 3. lapokat

4. kettyenés Következő utolsó lépéséig Kombájn, és megadhatja a kombinációs opciókat.
doc kutools kombinálja az 4. lapokat

5. kettyenés befejez, megjelenik egy párbeszédpanel, amely emlékeztet arra, hogy válasszon egy helyet az új kombinált eredmény mentéséhez. Lásd a képernyőképet:
doc kombájn 5

6. kettyenés Megtakarítás. Az összes hozzáadott lapot egy új lapra egyesítettük.
doc kombájn 6

Tipp: Val vel Kombájn, akkor is kombinálhat több CSV fájlok több mappát vagy egy mappát formázhat egy lapba vagy munkafüzetbe.


Ha minden egyes lapot csv / text / pdf fájlként szeretne exportálni egy mappába, Kutools az Excel számára'S Felosztott munkafüzet segédprogram tehet egy szívességet az Ön számára.

Után ingyenes telepítés Kutools for Excel, kérjük, tegye az alábbiak szerint:

1. Engedélyezze a munkafüzetet, amelybe exportálni szeretné a munkalapokat, majd kattintson a gombra Kutools Plus > Munkafüzet > Felosztott munkafüzet. Lásd a képernyőképet:

doc import több csv text xml 10

2. Ban,-ben Felosztott munkafüzet párbeszédpanelen ellenőrizheti az exportálandó lapneveket, alapértelmezés szerint az összes lap be van jelölve, és ellenőrizze Adja meg a mentési formátumot és az alábbi legördülő listából válassza ki a menteni kívánt fájlformátumot. Lásd a képernyőképet:

doc import több csv text xml 11

3. kettyenés Hasított és válasszon ki egy mappát, amelybe az osztott fájlokat a Keresse meg a Mappa elemet párbeszédpanel, lásd a képernyőképet:

doc import több csv text xml 12

4. kettyenés OK, most az összes bejelölt lap új fájlformátumként kerül exportálásra a kiválasztott mappába.


Relatív cikkek:


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (36)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Sziasztok! Köszönjük szépen a kódmintákat! Az első (VBA: Minden szövegfájl importálása egy mappából egy munkafüzetbe) szinte pontosan az, amire szükségem van. Szeretném azonban kiválasztani, hogy mely fájlokat szeretném importálni, és nem szeretném automatikusan importálni az adott mappában lévő összes szövegfájlt. Azt is szeretném, ha a céllapjaim kilépő tartalmát felülírná a szöveges fájlok tartalma. (A fenti kóddal a meglévő tartalom jobbra tolódik el ahelyett, hogy lecserélné.) Hogyan tegyem ezt? Előre is köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia! Szeretnék megérteni a "Több Xml-fájl importálása mappából egyetlen lapra VBA-val" VBA-kóddal kapcsolatban. 1. Miért van szükség 2 munkafüzetre 1 helyett? 2. Sok xml fájl excelbe való betöltése eltart egy ideig, szóval van ennél hatékonyabb kód? Mivel tudom, hogy a kód futtatásakor sok VBA-munkafüzet jött létre, ami a lassulást okozta. Nagyon megköszönném, ha segítene megérteni!
A weboldal moderátora ezt a megjegyzést minimalizálta
Elnézést, az első kérdésedet nem értettem, a másodikkal kapcsolatban pedig a hatékonyabb kódot nem találtam, ha tudod, írj nekem, köszönöm.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia! Szeretnék megérteni a VBA-kódot a "Több .txt fájl importálása mappából egyetlen lapra VBA segítségével" következő elérhető sorában (nem vízszintesen). Kérem, segítsen, sürgősen
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia! Ha az összes txt fájlt egy mappából egyetlen lapra szeretné importálni, akkor a fenti vba kód segítségével először importálhat txt fájlokat egy munkafüzetbe, majd alkalmazza a Kutools for Excel Munkalapok kombinálása funkcióját, hogy a munkafüzet összes lapját egyesítse egy lapot, majd a txt fájlokat egy lapon. Remélem segít.
A weboldal moderátora ezt a megjegyzést minimalizálta
Ezzel az a probléma, hogy a VBA parancs vagy a Kutools lehetővé teszi a csv fájlok importálását karakterkód formázással. Az előtöltés nyugati. Az összes csv fájlt Unicode-8-ként kell importálnom
A weboldal moderátora ezt a megjegyzést minimalizálta
a txt fájlokból konvertáló kód nekem nem működött.
A weboldal moderátora ezt a megjegyzést minimalizálta
Sajnos ez a cikk nem működik az Ön számára. Leírnád a problémádat? Mi történik a kód futtatása közben? És milyen rendszerrel dolgozol?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia! A "csv fájlok importálása mappából egy munkalapba" kód nekem működik! Ez a kód azonban nem működik üres .txt fájl esetén. Van valami mód az üres fájlok megtartására?
A weboldal moderátora ezt a megjegyzést minimalizálta
Sajnáljuk, nem tudom, miért kell egy üres txt.file-t importálni ~ Csak illesszen be üres sorokat a tartalom elkülönítéséhez.
A weboldal moderátora ezt a megjegyzést minimalizálta
Mike: "Nekem nem működött a txt fájlokból konvertáló kód."

Nekem is ugyanez volt a problémám. A makróhibák akkor lépnek fel, ha több txt fájlt kell megnyitni, mint munkalapokat a munkafüzetben (alapértelmezett 3).
Úgy javítottam, hogy közvetlenül a ciklus kilépése előtt hozzáadtam a következőket, így a makró új lapot hoz létre a többi után
ActiveWorkbook.Sheets.Add After:=Munkalapok(Worksheets.Count)
A weboldal moderátora ezt a megjegyzést minimalizálta
Chad, ez tökéletesen működött több szöveges fájl importálásához. Köszönöm.

Tudja, hogy van-e mód a fájlnevek lehívására? Azt szeretném, ha a szöveges fájlneveket minden Excel lapra másolnák.
A weboldal moderátora ezt a megjegyzést minimalizálta
Teljesen elképesztő! Megpróbáltam megnyitni az összes csv fájlt egy munkalapon, és gyönyörűen működött. Nagyon köszönöm, tényleg!
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló! Megpróbáltam futtatni az .xml kódot, de úgy tűnt, hogy nem működik, mert a "nincs xml fájl" üzenetet kaptam. Hogyan lehet ezt javítani?
A weboldal moderátora ezt a megjegyzést minimalizálta
Ekkor megjelenik egy „nincs fájl xml” üzenet, miközben a kiválasztott mappa nem tartalmazza az xml fájlokat. A felugró párbeszédablakban kiválaszthatja az xml fájlokat tartalmazó megfelelő mappát, miután futtatta az aktív lapra importáló kódot.
A weboldal moderátora ezt a megjegyzést minimalizálta
Működött! Köszönöm
A weboldal moderátora ezt a megjegyzést minimalizálta
hello, saya mau tanya kalo impor txt file ke satu sheet gimana ya?
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló, rendy, importálni szeretnéd az összes txt-t egy lapra, vagy minden txt-et minden lapra?
A weboldal moderátora ezt a megjegyzést minimalizálta
Van kódom a txt-ek importálásához a munkalapokra, minden txt mindegyik lapra, de azt szeretném, ha minden txt a nevével együtt importálna a lapra, vagyis minden importált lapot át kell nevezni a csatolt kódfájl nevével. fájl a txts névvel rendelkező lapok átnevezéséhez szükséges kód hozzáadásához... köszönöm.
A weboldal moderátora ezt a megjegyzést minimalizálta
van kódom a txt-ek importálásához lapokra, minden txt mindegyik lapra, de azt akarom, hogy minden txt a nevével együtt legyen importálva a lapra, vagyis minden importált lapot át kell nevezni a txt nevével a csatolt kódfájllal .. köszönöm
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló, Ramy, zahran, kipróbálhatja az alábbi kódot, amely képes importálni a szöveges fájlokat, és átnevezni a lap nevét szövegfájl nevére.
Sub LoadPipeDelimitedFiles()
'Frissítés általExtendoffice20180925
Dim xStrPath karakterláncként
Dim xFileDialog mint FileDialog
Dim xFile As String
Dim xCount As Long
Dim xWS munkalapként

Hiba esetén GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = Hamis
xFileDialog.title = "Válasszon ki egy mappát [Kutools for Excel]"
Ha xFileDialog.Show = -1 Akkor
xStrPath = xFileDialog.SelectedItems(1)
Ha véget
Ha xStrPath = "" Akkor lépjen ki a Sub
Application.ScreenUpdating = Hamis
xFile = Dir(xStrPath & "\*.txt")
Csináld az xFile közben <> ""
xCount = xCount + 1
xWS beállítása = Lapok (xCount)
xWS.Válassza ki
xWS.Name = "SZÖVEG" & Left(xFile, Len(xFile) - 4)
Az ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xFile, Destination:=Tartomány("A1"))
.Name = "a" & xCount
.FieldNames = Igaz
.RowNumbers = Hamis
.FillAdjacentFormulas = Hamis
.PreserveFormatting = Igaz
.RefreshOnFileOpen = Hamis
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = Igaz
.AdjustColumnWidth = Igaz
.RefreshPeriod = 0
.TextFilePromptOnRefresh = Hamis
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = Hamis
.TextFileTabDelimiter = Hamis
.TextFileSemicolonDelimiter = Hamis
.TextFileCommaDelimiter = Hamis
.TextFileSpaceDelimiter = Hamis
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Tömb(1, 1, 1)
.TextFileTrailingMinusNumbers = Igaz
.Refresh BackgroundQuery:=Hamis
xFile = Dir
Vége
Hurok
Application.ScreenUpdating = Igaz
Exit Sub
ErrHandler:
MsgBox "nincs fájl txt", , "Kutools for Excel"
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia! A kóddal több XML fájlt egyesítettem egybe, de sajnos az oszlopok összezavarodtak. Az összevont 5 fájl formátuma azonos volt. Meg lehet ezt valahogy javítani? Arra is kíváncsi voltam, hogy van-e mód megszabadulni a fájlok egyesítésekor duplikált fejlécektől. Köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm. Ez az oldal nagy segítség volt. Van egy problémám, amire nem tudok rájönni. Megpróbálok több csv fájlt importálni egy excelbe, külön lapokra az Excelben, és minden lapot átnevezek a csv fájl neve után. Tudom, hogy az alábbiakban egy txt fájlra vonatkozik, de csv fájlokkal dolgozom. Előre is köszönöm.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia! Az összes csv fájlt egy fájlba importálom a fent felsorolt ​​"Több Csv fájl importálása mappából egyetlen lapra VBA segítségével" - szeretném megadni azt a mappát, amelyből az adatokat gyűjti anélkül, hogy manuálisan kellene kiválasztani. azt. Meg lehet ezt tenni? köszönöm - SW.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Scott W! Találtam egy VBA kódot, amely segíthet.
Explicit lehetőség

Sub ImportCSVsWithReference()
'Szerző: Jerry Beaucaire
„Dátum: 10
„Összefoglaló: Importálja az összes CSV-fájlt egy mappából egyetlen lapra
' egy mező hozzáadása az A oszlophoz, amely felsorolja a CSV fájlneveket

Dim wbCSV munkafüzetként
Dim wsMstr munkalapként: Set wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'CSV-fájlok elérési útja, tartalmazza a végső \
Dim fCSV karakterláncként

If MsgBox("Törli a meglévő lapot importálás előtt?", vbYesNo, "Törlés?") _
= vbYes Ezután wsMstr.UsedRange.Clear

Application.ScreenUpdating = Hamis 'gyorsító makró

fCSV = Dir(fPath & "*.csv") 'indítsa el a CSV-fájlok listáját

Do While Len(fCSV) > 0
'nyiss meg egy CSV-fájlt
Set wbCSV = Workbooks.Open(fPath & fCSV)
'szúrja be az A oszlopot, és adja hozzá a CSV-nevet
Oszlopok (1). Insert xlShiftToRight
Oszlopok(1).SpecialCells(xlBlanks).Érték = ActiveSheet.Name
'másolja a dátumot a főlapra, és zárja be a forrásfájlt
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Eltolás(1)
wbCSV.Bezárás Hamis
'készen áll a következő CSV-re
fCSV = Dir
Hurok

Application.ScreenUpdating = Igaz
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Az ismétlődő fejléc és CSV-fájlnév oszlop eltávolítása. Kérem, segítsen... Több cikket is átnéztem, de sajnos mindegyik ugyanazt az eredményt adja.
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló! Az Ön VBA-kódjait arra használtam, hogy több CSV-fájlból adatokat bontsak ki excel-fájlba (a kód ezen az oldalon), és a csv-fájlokat excel-fájlokká alakítsam (ez: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), nagyszerű eredménnyel. Segítettek sok időt megspórolni.

Mindazonáltal egy közös problémát észlelek mindkét kódtípusnál. Az egyértelműség kedvéért, a rendszerem úgy van beállítva, hogy a dátumokhoz az európai szabványokat használja, míg a munkámhoz kapott CSV-fájlok egy része amerikai szabvány szerinti dátumot tartalmaz. Az első probléma az, hogy amikor kivonok vagy konvertálok adatokat egy amerikai formátumú dátumot tartalmazó CSV-fájlból, ezek a dátumok mindegyike megfordul (megfelel a rendszerem által használt EU-szabványoknak). Ez nagyszerű, de gondokat is okozott nekem, mivel nem tudtam, hogy a kódok megfordítják a dátumokat, így továbbmentem, és újra megcsináltam ugyanezt. A második probléma az, hogy azoknál a CSV-fájloknál, amelyek a dátumokat már ugyanolyan formátumban tartalmazzák, mint a rendszerem (EU-szabványok), csak a kétértelmű dátumok vannak felcserélve (azaz 04 - 05), míg a túl nyilvánvalóak változatlanok maradnak (azaz 2019.).

Azt szeretném, ha a kódok pontosan ugyanazok, mint itt láthatók, csak az adatokat (főleg a dátumokat) pontosan az eredeti fájlokban használt formátumban kell másolniuk és beilleszteni. Ez segít elkerülni az esetleges félreértéseket és hibákat. Szeretnék megtanulni VBA-t, hogy egy nap saját kódokat írhassak, de egyelőre még a meglévő kódok egy részét sem tudom az igényeim szerint módosítani. Tehát ha tud segíteni, kérem, mondja meg, hová tegyem a módosított kódokat (amiket Ön talál ki) a meglévő kódokhoz. Nagyra értékelek minden visszajelzést és támogatást, amit kapok. Köszönök mindent!
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves Marshall! A Workbooks.Open metódusban adja hozzá a Local:=True beállítást.

azaz
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm szépen Robert. Sajnálom, hogy nem tudtam korábban válaszolni. Eddig nem kaptam értesítést. Ki fogom próbálni, és később visszatérek, hogy tudjam, működik-e.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Robert,
Megint én vagyok. Eltartott egy ideig, mire volt időm rájönni, hogy a kód melyik részéhez kell hozzáadni a „Local:True” részt. Az eredmény nagyszerű lett, mivel a dátumok már nincsenek felcserélve. Köszönöm!
Ha valakinek hasonló problémája van, változtassa meg ezt a sort:
Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)

Ehhez:
Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, van mód több csv fájl importálására pontosvesszővel elválasztóként? Köszönöm!
PS Jó cikk!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia csapat

A kódot több XML-fájl egyetlen lapra történő importálására használom VBA-val, de az a probléma, amivel szembesülök, amikor a sorok száma eléri a körülbelül 650000 XNUMX-et, akkor nem dolgozza fel a mappában lévő többi xml-fájlt, és hibát ad, hogy nincsenek xml-fájlok. . A szám növeléséhez szüksége van az Ön támogatására.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia szakértők

A fenti kódot használom több xml-fájl importálásához 1 munkalapra VBA használatával, de az a probléma, amellyel szembesülök, az az, hogy amikor a sorok száma eléri a 650000 XNUMX-et egy munkalapon, akkor ez a kód nem dolgozza fel a mappában lévő többi xml-fájlt. "nincs fájl.xml" hibát ad. Kérje szíves támogatását
A weboldal moderátora ezt a megjegyzést minimalizálta
Üdvözöljük! Az utasítások több xml-fájl importálására egy Excel-dokumentum egyetlen lapjára működnek, de azon töprengtem, hogyan tudnám rávenni az oszlopok sorba rendezésére. Az én xml-emben nem ugyanazok a címkék. Úgy vannak beállítva, hogy ha az xml-ben nem voltak adatok néhány fejléchez (címkéhez), akkor a fejléc hiányzik az xml-ből. Van mód arra, hogy az xml-eket importálják úgy, hogy minden xml-ből és a kapcsolódó adatokból ugyanazok a fejlécek kerüljenek az Excel ugyanabba az oszlopába?
Még senki sem írt megjegyzést
Több ingatlan
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi