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

Kako hitro paketno uvoziti več datotek csv / text / xml v Excelu?

V Excelu ste se morda povezali, da delovni zvezek shranite kot datoteko CSV, besedilno datoteko ali datoteko XML, vendar ste že kdaj poskusili uvoziti več datotek CSV / besedilo / XML iz mape v delovni zvezek ali delovni list? V tem članku predstavljam nekaj metod za hiter serijski uvoz.

Uvozite več besedilnih datotek iz mape v vsak delovni list delovnega zvezka z VBA

Uvozite več datotek csv iz mape na en list z VBA

Uvozite več datotek xml iz mape v en list z VBA

Uvozite ali združite več datotek xml / csv v list ali delovni zvezek s programom Kutools za Excel dobra ideja3

Izvozite vsak list kot csv / text / pdf v mapo z Kutools za Exceldobra ideja3


Če želite besedilne datoteke uvoziti iz mape v delovni zvezek, lahko za hitro obdelavo uporabite spodnji VBA.

1. Omogočite prazen delovni zvezek in pritisnite Alt + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. klik Vstavi > Moduliin prilepite VBA v Moduli okno.

VBA: Uvozi vse besedilne datoteke iz mape v delovni zvezek

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. Pritisnite F5 ključ ali Run za zagon VBA in v pogovornem oknu izberite mapo, iz katere želite uvoziti besedilne datoteke. Oglejte si posnetek zaslona:

doc uvoz več CSV besedila xml 1

4. In kliknite OK, in vsaka besedilna datoteka v izbrani mapi je bila uvožena na en delovni list aktivnega delovnega zvezka. Oglejte si posnetek zaslona:

doc uvoz več CSV besedila xml 2doc uvoz več CSV besedila xml 3

Preprosto združite več listov / delovni zvezek v en sam list ali delovni zvezek

Združevanje več listov ali delovnih zvezkov v en list ali delovni zvezek je lahko v Excelu resnično, vendar z Združite funkcijo v Kutools za Excel, lahko združite ducate listov / delovnih zvezkov v en list ali delovni zvezek, liste pa lahko združite v enega samo z več kliki.  Kliknite za vse funkcije 30 dni brezplačnega preizkusa!
kombinirajte liste
 
Kutools za Excel: z več kot 300 priročnimi dodatki za Excel, ki jih lahko brezplačno preizkusite brez omejitev 30 dni.

Če želite uvoziti vse datoteke csv iz mape na en list, lahko uporabite spodnjo kodo VBA.

1. Omogočite prazen delovni list in pritisnite Alt + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. klik Vstavi > Moduliin prilepite spodaj VBA v novo Moduli okno.

VBA: uvozite datoteke CSV iz mape na en delovni list

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. Pritisnite F5 tipko ali kliknite Run za zagon VBA in odpre se pogovorno okno za izbiro mape, iz katere želite uvoziti vse datoteke csv. Oglejte si posnetek zaslona:

doc uvoz več CSV besedila xml 4

4. klik OKin odpre se pogovorno okno, ki vas opozori, če izbrišete vsebino aktivnega delovnega lista pred uvozom, tukaj kliknem Da. Oglejte si posnetek zaslona:

doc uvoz več CSV besedila xml 5

Po kliku Da, vse datoteke csv v izbrani mapi se uvozijo v trenutni list in podatke iz stolpca A postavijo na desno. Oglejte si posnetek zaslona:

doc uvoz več CSV besedila xml 6doc uvoz več CSV besedila xml 7

Nasvet: Če želite datoteke CSV postaviti vodoravno na delovni list, lahko uporabite spodaj 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 

doc uvoz več CSV besedila xml 8


Če želite uvoziti vse datoteke XML iz mape na en list, lahko uporabite spodnjo kodo VBA.

1. Izberite prazen list, kamor želite umestiti uvožene podatke, in pritisnite Alt + F11 tipke za omogočanje Microsoft Visual Basic za aplikacije okno.

2. klik Vstavi > Moduli, prilepite kodo VBA v Moduli okno.

VBA: Uvozite datoteke XML iz mape na delovni list.

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "\*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3. klik Run gumb ali F5 tipko za zagon VBA in v pogovornem oknu izberite mapo, glejte posnetek zaslona:

doc uvoz več CSV besedila xml 9

4. klik OKin vse datoteke XML v izbrani mapi se uvozijo v aktivni list.


Če VBA ne poznate, skrbite, tukaj vam predstavljam priročno orodje - Kutools za Excel zate. S svojo močno Združite Pripomoček lahko hitro združite več datotek xml ali CSV v en delovni zvezek ali en Excelov list.

Kutools za Excel, z več kot 300 priročne funkcije, vam olajša delo. 

Po namestitvi Kutools za Excel, naredite spodaj:(Brezplačno prenesite Kutools za Excel zdaj!)

1. Active Excel in kliknite Kutools Plus > Združite. Oglejte si posnetek zaslona:
doc združiti 1

2. In v 1. korak kombiniranja pogovornem oknu izberite eno možnost ločevanja, kot jo potrebujete. Oglejte si posnetek zaslona:
doc združiti 2

3. klik Naslednji iti korak 2 kombinacije, Kliknite Dodaj , da dodate datoteke iz različnih map ali datoteke iz ene mape v Delovni zvezek lahko tudi določite liste, iz katerih želite kombinirati Delovni list seznam desnega odseka. Oglejte si posnetek zaslona:
doc kutools združujejo liste 3

4. klik Naslednji do zadnjega koraka Združite, in lahko določite možnosti kombiniranja.
doc kutools združujejo liste 4

5. klik Konec, odpre se pogovorno okno, ki vas opomni, da izberete lokacijo za shranjevanje novega kombiniranega rezultata. Oglejte si posnetek zaslona:
doc združiti 5

6. klik Shrani. Vsi dodani listi so bili združeni v nov en sam list.
doc združiti 6

Nasvet: z Združite, lahko tudi kombinirate več CSV datoteke oblikujte več map ali eno mapo v en list ali delovni zvezek.


Če želite izvoziti vsak list kot datoteko csv / text / pdf v mapo, Kutools za ExcelJe Razdeljeni delovni zvezek pripomoček vam lahko naredi uslugo.

po brezplačna namestitev Kutools za Excel, naredite spodaj:

1. Omogočite delovni zvezek, v katerega želite izvoziti njegove delovne liste, in kliknite Kutools Plus > Delovni zvezek > Razdeljeni delovni zvezek. Oglejte si posnetek zaslona:

doc uvoz več CSV besedila xml 10

2. V Ljubljani Razdeljeni delovni zvezek v pogovornem oknu lahko preverite imena listov, ki jih želite izvoziti, privzeto so preverjeni vsi listi in preverite Določite obliko shranjevanja in na spodnjem spustnem seznamu izberite obliko datoteke, ki jo želite shraniti. Oglejte si posnetek zaslona:

doc uvoz več CSV besedila xml 11

3. klik Split in izberite mapo, v katero želite shraniti razdeljene datoteke v Poiščite mapo pogovorno okno, glej posnetek zaslona:

doc uvoz več CSV besedila xml 12

4. klik OK, zdaj so vsi preverjeni listi izvoženi kot nova oblika datoteke v izbrani mapi.


Relativni članki:


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (36)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, najlepša hvala za te vzorce kode! Prvi (VBA: uvoz vseh besedilnih datotek iz mape v delovni zvezek) je skoraj točno tisto, kar potrebujem. Vendar bi rad izbral, katere datoteke naj uvozim, in ne bi samodejno uvozil vseh besedilnih datotek v kateri koli mapi. Prav tako želim, da se izhodna vsebina mojih ciljnih listov prepiše z vsebino besedilnih datotek. (Z zgornjo kodo se obstoječa vsebina premakne v desno, namesto da bi bila zamenjana.) Kako naj to storim? Hvala vnaprej!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, rad bi razumel kodo VBA za "Uvozi več datotek Xml iz mape na en list z VBA". 1. Zakaj sta potrebna 2 delovna zvezka namesto 1? 2. Nalaganje številnih datotek xml v excel traja nekaj časa, ali obstaja učinkovitejša koda? Ker se zavedam, da je bila ob zagonu vaše kode ustvarjenih veliko delovnih zvezkov VBA, kar je povzročilo upočasnitev. Zelo bi bil hvaležen, če mi lahko pomagate razumeti!
Ta komentar je moderator na spletnem mestu minimiziral
Oprostite, prvega vprašanja nisem razumel, glede drugega, učinkovitejše kode, pa je nisem našel, če veste, mi prosim pustite opombo, hvala.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, rad bi razumel kodo VBA za "Uvoz več datotek .txt iz mape na en list z VBA" glede na naslednjo razpoložljivo vrstico (ne vodoravno). Prosim za pomoč, nujno
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, če želite uvoziti vse datoteke txt iz ene mape na en list, lahko z zgornjo kodo vba najprej uvozite datoteke txt v delovni zvezek, nato uporabite Kutools za Excelovo funkcijo Združi delovne liste, da združite vse liste delovnega zvezka v en list, nato datoteke txt na listu. Upam, da ti pomaga.
Ta komentar je moderator na spletnem mestu minimiziral
Težava pri tem je, da ukaz VBA niti Kutools omogočata uvoz datotek csv z oblikovanjem kode znakov. Prednapetost je zahodna. Vse datoteke csv moram uvoziti kot unicode-8
Ta komentar je moderator na spletnem mestu minimiziral
koda za pretvorbo iz txt datotek mi ni delovala.
Ta komentar je moderator na spletnem mestu minimiziral
Žal vam ta članek ne deluje. Ali lahko opišeš svoj problem? Kaj se zgodi med izvajanjem kode? In kakšen sistem delaš?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo! Koda "Uvozi datoteke csv iz mape v en delovni list" mi deluje! Toda ta koda ne deluje za prazno datoteko .txt. Ali obstaja način, da ohranite tudi prazne datoteke?
Ta komentar je moderator na spletnem mestu minimiziral
Žal ne vem, zakaj je treba uvoziti prazno datoteko txt.~Samo vstavite prazne vrstice, da ločite vsebino.
Ta komentar je moderator na spletnem mestu minimiziral
Mike: "koda za pretvorbo iz datotek txt mi ni delovala."

Imel sem enako težavo. Napake makra izginejo, če imate za odpiranje več txt datotek kot delovnih listov v delovnem zvezku (privzeto je 3).
To sem popravil tako, da sem dodal naslednje tik pred izhodom zanke, tako da makro ustvari nov list po preostalem
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Ta komentar je moderator na spletnem mestu minimiziral
Čad, to mi je odlično uspelo uvoziti več besedilnih datotek. Hvala vam.

Ali veste, ali obstaja način, da povlečete imena datotek? Želim, da se imena besedilnih datotek kopirajo v vsak zavihek Excelovega lista.
Ta komentar je moderator na spletnem mestu minimiziral
Popolnoma neverjetno! Poskusil odpreti vse datoteke csv na enem delovnem listu in je delovalo čudovito. Najlepša hvala, res!
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, poskusil sem zagnati kodo za .xml in se je zdelo, da ne deluje, saj sem dobil sporočilo "ni datotek xml". Kako to popraviti?
Ta komentar je moderator na spletnem mestu minimiziral
Pojavilo se bo sporočilo »ni datotek xml«, medtem ko vaša izbrana mapa ne vsebuje datotek xml. Izberete lahko pravo mapo, ki vsebuje datoteke xml, v pojavnem pogovornem oknu, potem ko zaženete kodo za njihovo uvoz na aktivni list.
Ta komentar je moderator na spletnem mestu minimiziral
Delovalo je! Hvala
Ta komentar je moderator na spletnem mestu minimiziral
zdravo, saya mau tanya kalo import txt file ke satu sheet Gimana ya?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, rendy, ali želite vse txt uvoziti na en list ali vsak txt na vsak list?
Ta komentar je moderator na spletnem mestu minimiziral
imam kodo za uvoz txt na liste, vsak txt na vsak list, vendar želim, da se vsak txt uvozi z imenom na list, mislim preimenovati vsak uvoženi list z imenom txt priložene kodne datoteke .. želim urediti to datoteko za dodajanje kode za preimenovanje listov z imenom txts ... hvala.
Ta komentar je moderator na spletnem mestu minimiziral
imam kodo za uvoz txt na liste, vsak txt na vsak list, vendar želim, da se vsak txt uvozi z imenom na list, mislim, da preimenuj vsak uvoženi list z imenom txt, ki je priložena kodna datoteka .. hvala
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Ramy, zahran, lahko poskusite s spodnjo kodo, ki lahko uvozi besedilne datoteke in preimenuje ime lista v ime besedilne datoteke.
Sub LoadPipeDelimitedFiles()
'PosodobitevExtendoffice20180925
Zatemni xStrPath kot niz
Zatemni xFileDialog kot FileDialog
Zatemni xFile kot niz
Dim xCount As Long
Dim xWS kot delovni list

Ob napaki Pojdi na ErrHandler
Nastavite xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.title = "Izberite mapo [Kutools for Excel]"
Če je xFileDialog.Show = -1 Potem
xStrPath = xFileDialog.SelectedItems(1)
Konec Če
Če je xStrPath = "" Nato zapustite Sub
Application.ScreenUpdating = Napačno
xFile = Dir(xStrPath & "\*.txt")
Naredi, medtem ko xFile <> ""
xŠtevilo = xŠtevilo + 1
Nastavite xWS = Listi(xCount)
xWS.Izberi
xWS.Name = "BESEDILO" & levo(xFile, Len(xFile) - 4)
Z ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xFile, Destination:=Range("A1"))
.Ime = "a" & xCount
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.ShraniPassword = False
.SaveData = Res
.AdjustColumnWidth = True
.Obdobje osveževanja = 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 = Res
.Refresh BackgroundQuery:=False
xDatoteka = Dir
Končaj s
Zanka
Application.ScreenUpdating = Res
Exit Sub
ErrHandler:
MsgBox "brez datotek txt", "Kutools za Excel"
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Živjo! S kodo sem združil več datotek XML v eno, vendar so se na žalost stolpci pomešali. 5 datotek, ki so bile združene, je imelo isto obliko. Ali je to sploh mogoče popraviti? Prav tako sem se spraševal, ali obstaja način, da se znebim glav, ki se podvojijo, ko se datoteke združijo. Hvala vam!
Ta komentar je moderator na spletnem mestu minimiziral
Hvala vam. Ta stran je bila v veliko pomoč. Imam eno težavo, ki je ne morem ugotoviti. Poskušam uvoziti več datotek csv v excel ločene liste v excelu in vsak list preimenovati po imenu datoteke csv. Vem, da je bilo to opisano spodaj za datoteko txt, vendar delam z datotekami csv. Hvala vnaprej.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo - uporabljam uvoz vseh datotek csv v eno zgoraj navedeno datoteko "Uvozi več datotek Csv iz mape v en list z VBA" - rad bi definiral mapo, iz katere zbira podatke, ne da bi morali ročno izbrati to. Ali je to mogoče storiti? hvala - SW.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Scott W, ugotovil sem, da ti lahko pomaga koda VBA.
Option Explicit

Sub ImportCSVsWithReference()
Avtor: Jerry Beaucaire
'Datum: 10. 16. 2010
'Povzetek: vse datoteke CSV uvozite iz mape na en list
' dodajanje polja v stolpec A, ki navaja imena datotek CSV

Dim wbCSV kot delovni zvezek
Dim wsMstr kot delovni list: nastavite wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath kot niz: fPath = " C:\Users\DT168\Desktop\New folder\" 'pot do datotek CSV, vključuj končno \
Dim fCSV kot niz

Če MsgBox("Izbriši obstoječi list pred uvozom?", vbYesNo, "Počisti?") _
= vbYes Nato wsMstr.UsedRange.Clear

Application.ScreenUpdating = False 'makro za pospešitev

fCSV = Dir(fPath & "*.csv") 'začnite seznam datotek CSV

Naredi, medtem ko je Len(fCSV) > 0
'odprite datoteko CSV
Nastavi wbCSV = Workbooks.Open(fPath & fCSV)
'vstavite stolpec A in dodajte ime CSV
Stolpci(1).Vstavite xlShiftToRight
Stolpci(1).SpecialCells(xlBlanks).Vrednost = ActiveSheet.Name
'kopirajte datum v glavni list in zaprite izvorno datoteko
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.Zapri False
'pripravljen naslednji CSV
fCSV = Dir
Zanka

Application.ScreenUpdating = Res
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Kako odstraniti podvojene stolpce glave in datoteke CSV. Prosim za pomoč....Prebral sem več člankov, a žal vsi dajejo enak rezultat.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni – vaše kode VBA sem uporabil za ekstrakcijo podatkov iz več datotek CSV v datoteko excel (koda na tej strani) in pretvorbo datotek csv v datoteke excel (ta: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), z odličnimi rezultati. Pomagali so mi prihraniti veliko časa.

Vendar opažam skupno težavo z obema vrstama kod. Da pojasnim, moj sistem je nastavljen tako, da uporablja evropske standarde za datume, medtem ko nekatere datoteke CSV, ki sem jih prejel za svoje delo, vsebujejo datume v ameriških standardih. Prva težava je, da ko ekstrahiram ali pretvorim podatke iz datoteke CSV, ki vsebuje datume v ameriški obliki, so vsi ti datumi obrnjeni (skladno s standardi EU, ki jih uporablja moj sistem). To je super, vendar mi je povzročalo tudi težave, saj nisem vedel, da mi bodo kode obrnile datume, zato sem nadaljeval in ponovil isto stvar. Druga težava je, da so za datoteke CSV, ki vsebujejo datume, ki so že v isti obliki, kot jo uporablja moj sistem (standardi EU), obrnjeni samo dvoumni datumi (tj. medtem ko tisti, ki so preveč očitni, ostanejo nespremenjeni (tj. 04. 05. 2019).

Želel bi, da kode naredijo popolnoma enako, kot so prikazane tukaj, le da morajo kopirati in prilepiti podatke (zlasti datume) v natančnih oblikah, uporabljenih v izvirnih datotekah. To bi pomagalo preprečiti morebitne zmede in napake. Rad bi se naučil VBA, da bi lahko nekega dne napisal svoje kode, vendar za zdaj niti ne morem spremeniti delov obstoječih kod, da bi ustrezale svojim potrebam. Torej, če lahko pomagate, mi prosim povejte, kam naj dam spremenjene kode (ki jih najdete) v obstoječe kode. Cenim vse povratne informacije in podporo, ki jih lahko dobim. Hvala vsem!
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Marshall, v metodi Workbooks.Open dodajte možnost Local:=True.

tj
Nastavite xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala Robert. Žal vam nisem mogel odgovoriti prej. Do sedaj nisem prejel nobenega obvestila. To bom preizkusil in se kasneje vrnil k vam, da vam sporočim, ali deluje.
Ta komentar je moderator na spletnem mestu minimiziral
Živijo Robert,
Spet sem jaz. Potreboval sem nekaj časa, da sem dejansko imel čas, da ugotovim, kateremu delu kode je treba dodati del "Local:True". Rezultat se je izkazal za odličen, saj datumi niso več obrnjeni. Hvala vam!
Za vse, ki imajo enak problem, samo spremenite to vrstico:
Nastavite xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)

Za to:
Nastavite xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, ali obstaja način za uvoz več datotek csv s podpičjem kot ločilom? Hvala vam!
PS Lep članek!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo ekipa

Uporabljam kodo za uvoz več datotek XML v en list z VBA, vendar se soočam s težavo, ko število vrstic doseže približno 650000, potem ne obdela preostalih datotek xml v mapi in daje napako, da ni datotek xml. . Za povečanje tega števila potrebujete vašo podporo.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni Strokovnjaki

Zgornjo kodo uporabljam za uvoz več datotek xml v 1 delovni list z uporabo VBA, vendar se soočam s težavo, ko število vrstic na delovnem listu doseže 650000, potem ta koda ne obdela preostalih datotek xml v mapi. Prikaže napako "ni datotek.xml". Zahtevajte vašo prijazno podporo
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni. Navodila za uvoz več xml-jev v en zavihek Excelovega dokumenta delujejo, vendar sem se spraševal, kako ga pripraviti, da razporedi stolpce. Moji xml-ji nimajo vsi enakih oznak. Nastavljeni so tako, da če xml ni imel podatkov za nekatere glave (oznake), potem glava manjka v tem xml-ju. Ali obstaja način, da se xml uvozi, tako da enake glave iz vsakega xml in povezanih podatkov spadajo v isti stolpec excela?
Tu še ni objavljenih komentarjev
Obremenitev Več
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL