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

Bagaimana cara cepat mengimpor banyak file csv / teks / xml di Excel?

Di Excel, Anda mungkin telah terikat untuk menyimpan buku kerja sebagai file csv, file teks atau file xml, tetapi pernahkah Anda mencoba mengimpor beberapa file csv / teks / xml dari folder ke dalam buku kerja atau lembar kerja? Pada artikel ini, saya memperkenalkan beberapa metode untuk mengimpor secara batch dengan cepat.

Impor beberapa file teks dari folder ke setiap lembar kerja buku kerja dengan VBA

Impor beberapa file csv dari folder ke dalam satu lembar dengan VBA

Impor beberapa file xml dari folder ke dalam satu lembar dengan VBA

Impor atau gabungkan beberapa file xml / csv ke dalam lembaran atau buku kerja dengan Kutools for Excel ide bagus3

Ekspor setiap lembar sebagai csv / teks / pdf ke folder dengan Kutools for Excelide bagus3


Untuk mengimpor file teks dari folder ke buku kerja, Anda dapat menggunakan VBA di bawah ini untuk menanganinya dengan cepat.

1. Aktifkan buku kerja kosong, dan tekan Alt + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.

2. klik Menyisipkan > Modul, dan tempelkan VBA ke file Modul jendela.

VBA: Impor semua file teks dari folder ke dalam buku kerja

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. tekan F5 kunci atau Run untuk menjalankan VBA, dan pilih folder tempat Anda ingin mengimpor file teks dari dalam dialog yang muncul. Lihat tangkapan layar:

doc mengimpor beberapa teks csv xml 1

4. Dan klik OK, dan setiap file teks di folder yang dipilih telah diimpor ke dalam satu lembar kerja dari buku kerja yang aktif. Lihat tangkapan layar:

doc mengimpor beberapa teks csv xml 2doc mengimpor beberapa teks csv xml 3

Gabungkan beberapa lembar / Buku Kerja dengan mudah menjadi satu lembar atau Buku Kerja

Untuk menggabungkan beberapa lembar atau buku kerja ke dalam satu lembar atau buku kerja mungkin membosankan di Excel, tapi dengan Menggabungkan Fungsi di Kutools for Excel, Anda bisa menggabungkan lusinan lembar / buku kerja menjadi satu lembar atau buku kerja, juga, Anda bisa menggabungkan lembaran menjadi satu dengan beberapa klik saja.  Klik untuk uji coba gratis 30 hari berfitur lengkap!
menggabungkan lembaran
 
Kutools for Excel: dengan lebih dari 300 add-in Excel yang praktis, gratis untuk dicoba tanpa batasan dalam 30 hari.

Untuk mengimpor semua file csv dari folder menjadi satu lembar, Anda dapat menggunakan kode VBA di bawah ini.

1. Aktifkan lembar kerja kosong, dan tekan Alt + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.

2. klik Menyisipkan > Modul, dan tempelkan di bawah VBA ke file Modul jendela.

VBA: Impor file csv dari folder ke dalam satu lembar kerja

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. tekan F5 kunci atau klik Run untuk menjalankan VBA, dan sebuah dialog muncul untuk memilih folder tempat Anda ingin mengimpor semua file csv. Lihat tangkapan layar:

doc mengimpor beberapa teks csv xml 4

4. klik OK, dan dialog muncul untuk mengingatkan Anda jika menghapus isi lembar kerja aktif sebelum mengimpor, di sini saya klik Yes. Lihat tangkapan layar:

doc mengimpor beberapa teks csv xml 5

Setelah mengklik Yes, semua file csv di folder yang dipilih diimpor ke sheet saat ini, dan data tempat dari Kolom A ke kanan. Lihat tangkapan layar:

doc mengimpor beberapa teks csv xml 6doc mengimpor beberapa teks csv xml 7

olymp trade indonesiaTip: Jika Anda ingin menempatkan file csv secara horizontal di lembar kerja, Anda dapat menggunakan VBA di bawah ini.

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 mengimpor beberapa teks csv xml 8


Jika Anda ingin mengimpor semua file XML dari folder ke dalam satu lembar, Anda dapat menggunakan kode VBA di bawah ini.

1. Pilih lembar kosong yang ingin Anda tempatkan data yang diimpor, dan tekan Alt + F11 kunci untuk mengaktifkan Microsoft Visual Basic untuk Aplikasi jendela.

2. klik Menyisipkan > Modul, tempel kode VBA ke file Modul jendela.

VBA: Impor file XML dari folder ke dalam lembar kerja.

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 tombol atau F5 kunci untuk menjalankan VBA, dan pilih folder di dialog popping, lihat tangkapan layar:

doc mengimpor beberapa teks csv xml 9

4. klik OK, dan semua file XML di folder yang dipilih diimpor ke lembar aktif.


Jika Anda tidak terbiasa dengan VBA, jangan khawatir, di sini saya perkenalkan alat praktis - Kutools untuk Excel untukmu. Dengan kekuatannya Menggabungkan utilitas, Anda dapat dengan cepat menggabungkan beberapa file xml atau file csv ke dalam satu buku kerja atau satu lembar Excel.

Kutools untuk Excel, dengan lebih dari 300 fungsi praktis, membuat pekerjaan Anda lebih mudah. 

Setelah menginstal Kutools for Excel, lakukan seperti di bawah ini:(Unduh Gratis Kutools untuk Excel Sekarang!)

1. Excel aktif, dan klik Kutools Plus > Menggabungkan. Lihat tangkapan layar :
doc menggabungkan 1

2. Dan di langkah 1 dari Gabungkan dialog, pilih satu opsi pemisahan yang Anda butuhkan. Lihat tangkapan layar:
doc menggabungkan 2

3. klik Next untuk pergi ke langkah 2 dari Gabungkanklik Add untuk menambahkan file dari berbagai folder atau file dari satu folder ke Buku catatan daftar, dan juga Anda dapat menentukan lembar yang ingin Anda gabungkan Lembar Kerja daftar bagian kanan. Lihat tangkapan layar:
doc kutools menggabungkan lembar 3

4. klik Next ke satu langkah terakhir dari Menggabungkan, dan Anda dapat menentukan opsi penggabungan.
doc kutools menggabungkan lembar 4

5. klik Finish, sebuah dialog muncul untuk mengingatkan Anda memilih lokasi untuk menyimpan hasil gabungan yang baru. Lihat tangkapan layar:
doc menggabungkan 5

6. klik Save. Semua lembar tambahan telah digabungkan menjadi satu lembar baru.
doc menggabungkan 6

olymp trade indonesiaTip: Dengan Menggabungkan, Anda juga dapat menggabungkan beberapa file File CSV membentuk beberapa folder atau satu folder menjadi satu lembar atau workbook.


Jika Anda ingin mengekspor setiap lembar sebagai file csv / teks / pdf ke folder, Kutools untuk Excel'S Pisahkan Buku Kerja utilitas dapat membantu Anda.

Setelah pemasangan gratis Kutools for Excel, lakukan seperti di bawah ini:

1. Aktifkan buku kerja yang ingin Anda ekspor lembar kerjanya, dan klik Kutools Plus > Buku catatan > Pisahkan Buku Kerja. Lihat tangkapan layar:

doc mengimpor beberapa teks csv xml 10

2. Dalam Pisahkan Buku Kerja dialog, Anda dapat memeriksa nama lembar yang perlu Anda ekspor, secara default semua lembar dicentang, dan periksa Tentukan format penyimpanan dan pilih format file yang ingin Anda simpan seperti dari daftar drop-down di bawah ini. Lihat tangkapan layar:

doc mengimpor beberapa teks csv xml 11

3. klik Split dan pilih folder yang akan menyimpan file yang dipisahkan di Jelajahi Folder dialog, lihat tangkapan layar:

doc mengimpor beberapa teks csv xml 12

4. klik OK, sekarang semua lembar yang dicentang diekspor sebagai format file baru di folder yang dipilih.


Artikel Relatif:


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2019 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Tingkatkan produktivitas Anda hingga 50%, dan kurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (35)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Hai, terima kasih banyak untuk contoh kode itu! Yang pertama (VBA: Impor semua file teks dari folder ke buku kerja) hampir persis seperti yang saya butuhkan. Namun, saya ingin memilih file mana yang akan diimpor dan tidak secara otomatis mengimpor semua file teks di folder mana pun. Saya juga ingin konten yang keluar dari lembar target saya ditimpa oleh konten file teks. (Dengan kode di atas, konten yang ada digeser ke kanan alih-alih diganti.) Bagaimana cara melakukannya? Terima kasih sebelumnya!
Komentar ini diminimalkan oleh moderator di situs
Hai, Saya ingin memahami tentang kode VBA untuk "Impor Beberapa File Xml Dari Folder Ke Satu Lembar Dengan VBA". 1. Mengapa 2 buku kerja dibutuhkan, bukan 1? 2. Butuh beberapa waktu untuk memuat banyak file xml ke excel, jadi apakah ada kode yang lebih efisien? Karena saya menyadari ketika kode Anda dijalankan, banyak buku kerja VBA yang dibuat yang menyebabkan perlambatan. Saya akan sangat menghargai jika Anda dapat membantu saya untuk memahami!
Komentar ini diminimalkan oleh moderator di situs
Maaf, saya tidak mengerti pertanyaan pertama Anda, dan tentang yang kedua, kode yang lebih efisien, saya belum menemukannya, jika Anda tahu, silakan tinggalkan catatan untuk saya, terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Hai, Saya ingin memahami tentang kode VBA untuk "Mengimpor Beberapa file .txt dari folder ke satu lembar dengan VBA" dengan baris berikutnya yang tersedia (bukan horizontal). Tolong bantu, mendesak
Komentar ini diminimalkan oleh moderator di situs
Halo, jika Anda ingin mengimpor semua file txt dari satu folder ke satu lembar, Anda dapat menggunakan kode vba di atas untuk mengimpor file txt ke buku kerja terlebih dahulu, lalu terapkan fitur Gabungkan Lembar Kerja Kutools for Excel untuk menggabungkan semua lembar buku kerja ke satu lembar, lalu file txt dalam satu lembar. Semoga itu membantu Anda.
Komentar ini diminimalkan oleh moderator di situs
Masalah dengan ini adalah bahwa perintah VBA atau Kutools memungkinkan untuk mengimpor file csv dengan format kode karakter. Preload adalah barat. Saya perlu mengimpor semua file csv sebagai unicode-8
Komentar ini diminimalkan oleh moderator di situs
kode untuk mengonversi dari file txt tidak berfungsi untuk saya.
Komentar ini diminimalkan oleh moderator di situs
Maaf artikel ini tidak bekerja untuk Anda. Bisakah Anda menggambarkan masalah Anda? Apa yang terjadi saat menjalankan kode? Dan apa sistem Anda bekerja?
Komentar ini diminimalkan oleh moderator di situs
Hai! Kode "Impor file csv dari folder ke dalam satu lembar kerja", berfungsi untuk saya! Tetapi kode ini tidak berfungsi untuk file .txt kosong. Apakah ada cara untuk menyimpan juga file kosong?
Komentar ini diminimalkan oleh moderator di situs
Maaf, saya tidak tahu mengapa perlu mengimpor txt.file kosong~Cukup masukkan baris kosong untuk memisahkan isinya.
Komentar ini diminimalkan oleh moderator di situs
Mike: "kode untuk mengonversi dari file txt tidak berfungsi untuk saya."

Saya memiliki masalah yang sama. Kesalahan makro keluar jika Anda memiliki lebih banyak file txt untuk dibuka daripada lembar kerja di buku kerja Anda (defaultnya adalah 3).
Saya memperbaikinya dengan menambahkan yang berikut tepat sebelum loop keluar sehingga makro membuat lembar baru setelah sisanya
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Komentar ini diminimalkan oleh moderator di situs
Chad, Ini sangat berhasil bagi saya untuk mengimpor banyak file teks. Terima kasih.

Apakah Anda tahu jika ada cara untuk menarik nama file? Saya ingin nama file teks disalin ke setiap tab lembar excel.
Komentar ini diminimalkan oleh moderator di situs
Benar-benar menakjubkan! Mencoba membuka semua file csv dalam satu lembar kerja dan itu bekerja dengan baik. Terima kasih banyak, sungguh!
Komentar ini diminimalkan oleh moderator di situs
Halo, saya mencoba menjalankan kode untuk .xml dan tampaknya tidak berfungsi karena saya mendapat pesan "tidak ada file xml". Bagaimana cara memperbaikinya?
Komentar ini diminimalkan oleh moderator di situs
Ini akan memunculkan pesan "tidak ada file xml" saat folder yang Anda pilih tidak berisi file xml. Anda dapat memilih folder yang tepat yang berisi file xml dalam dialog popping setelah menjalankan kode untuk mengimpornya ke lembar aktif.
Komentar ini diminimalkan oleh moderator di situs
Itu berhasil! Terima kasih
Komentar ini diminimalkan oleh moderator di situs
halo, saya mau tanya kalo impor file txt ke satu sheet gimana ya?
Komentar ini diminimalkan oleh moderator di situs
Halo, rendy, apakah Anda ingin mengimpor semua txt ke satu lembar atau setiap txt ke setiap lembar?
Komentar ini diminimalkan oleh moderator di situs
saya memiliki kode untuk mengimpor txts ke sheet setiap txt ke setiap sheet, tetapi saya ingin setiap txt diimpor dengan namanya menjadi sheet , maksud saya mengganti nama setiap sheet yang diimpor dengan nama txt file kode yang dilampirkan .. saya ingin mengedit ini file untuk menambahkan kode untuk mengganti nama lembar dengan nama txts ... terima kasih.
Komentar ini diminimalkan oleh moderator di situs
saya memiliki kode untuk mengimpor txts ke sheet setiap txt ke setiap sheet, tetapi saya ingin setiap txt diimpor dengan namanya menjadi sheet , maksud saya mengganti nama setiap sheet yang diimpor dengan nama txt file kode terlampir .. terima kasih
Komentar ini diminimalkan oleh moderator di situs
Halo, Ramy, zahran, Anda dapat mencoba kode di bawah ini yang dapat mengimpor file teks dan mengganti nama lembar menjadi nama file teks.
Sub LoadPipeDelimitedFiles()
'Perbarui olehExtendoffice20180925
Redupkan xStrPath Sebagai String
Redupkan xFileDialog Sebagai FileDialog
Redupkan xFile Sebagai String
Redupkan x Hitung Selamanya
Redupkan xWS Sebagai Lembar Kerja

Pada Kesalahan GoTo ErrHandler
Setel xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = Salah
xFileDialog.title = "Pilih folder [Kutools for Excel]"
Jika xFileDialog.Show = -1 Maka
xStrPath = xFileDialog.SelectedItems(1)
End If
Jika xStrPath = "" Kemudian Keluar Sub
Application.ScreenUpdating = Salah
xFile = Dir(xStrPath & "\*.txt")
Lakukan Sementara xFile <> ""
xJumlah = xJumlah + 1
Setel xWS = Lembar(xCount)
xWS.Pilih
xWS.Name = "TEXT" & Kiri(xFile, Len(xFile) - 4)
Dengan ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xFile, Tujuan:=Range("A1"))
.Nama = "a" & xCount
.Nama Bidang = Benar
.RowNumbers = Salah
.FillAdjacentFormulas = Salah
.PreserveFormatting = Benar
.RefreshOnFileOpen = Salah
.RefreshStyle = xlInsertDeleteCells
.SavePassword = Salah
.SaveData = Benar
.AdjustColumnWidth = Benar
.Periode Penyegaran = 0
.TextFilePromptOnRefresh = Salah
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = Salah
.TextFileTabDelimiter = Salah
.TextFileSemicolonDelimiter = Salah
.TextFileCommaDelimiter = Salah
.TextFileSpaceDelimiter = Salah
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileTrailingMinusNumbers = Benar
.Refresh BackgroundQuery:=Salah
xFile = Dir
Berakhir dengan
Lingkaran
Application.ScreenUpdating = Benar
Keluar dari Sub
ErrHandler:
MsgBox "tidak ada file txt", , "Kutools for Excel"
End Sub
Komentar ini diminimalkan oleh moderator di situs
Hai! Saya menggunakan kode untuk menggabungkan beberapa file XML menjadi satu, tetapi sayangnya kolomnya menjadi kacau. 5 file yang digabungkan semuanya memiliki format yang sama. Apakah ada cara untuk memperbaiki ini? Saya juga bertanya-tanya apakah ada cara untuk menghilangkan header yang diduplikasi ketika file digabungkan. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Terima kasih. Situs ini sangat membantu. Saya memiliki satu masalah yang tidak dapat saya pahami. Saya mencoba mengimpor beberapa file csv ke dalam lembar terpisah excel di excel dan setiap lembar diganti namanya setelah nama file file csv. Saya tahu ini tercakup di bawah untuk file txt tetapi saya bekerja dengan file csv. Terima kasih sebelumnya.
Komentar ini diminimalkan oleh moderator di situs
Hai - Saya menggunakan impor semua file csv ke dalam satu file yang tercantum di atas "Impor Beberapa File Csv Dari Folder Ke Satu Lembar Dengan VBA"- saya ingin menentukan folder yang mengumpulkan data tanpa harus memilih secara manual dia. Bisakah ini dilakukan? terima kasih - SW.
Komentar ini diminimalkan oleh moderator di situs
Hai, Scott W, saya menemukan kode VBA dapat membantu Anda.
Opsi Eksplisit

Sub ImporCSVsDenganReferensi()
'Penulis: Jerry Beaucaire
'Tanggal: 10/16/2010
'Ringkasan: Impor semua file CSV dari folder ke dalam satu lembar
' menambahkan bidang di kolom A yang mencantumkan nama file CSV

Redupkan wbCSV Sebagai Buku Kerja
Redupkan wsMstr Sebagai Lembar Kerja: Atur wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'path ke file CSV, sertakan \ final
Redupkan fCSV Sebagai String

If MsgBox("Hapus lembar yang ada sebelum mengimpor?", vbYesNo, "Hapus?") _
= vbYa Lalu wsMstr.UsedRange.Clear

Application.ScreenUpdating = Salah 'mempercepat makro

fCSV = Dir(fPath & "*.csv") 'mulai daftar file CSV

Lakukan Sementara Len(fCSV) > 0
'buka file CSV
Setel wbCSV = Workbooks.Open(fPath & fCSV)
'masukkan col A dan tambahkan nama CSV
Kolom (1). Sisipkan xlShiftToRight
Kolom(1).SpecialCells(xlBlanks).Nilai = ActiveSheet.Name
'salin tanggal ke lembar master dan tutup file sumber
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.Tutup Salah
'siap CSV berikutnya
fCSV = Dir
Lingkaran

Application.ScreenUpdating = Benar
End Sub
Komentar ini diminimalkan oleh moderator di situs
Cara menghilangkan duplikat header dan kolom nama file CSV. Tolong bantu .... Saya telah membaca beberapa artikel, tetapi sayangnya semua memberikan hasil yang sama.
Komentar ini diminimalkan oleh moderator di situs
Halo - Saya telah menggunakan kode VBA Anda untuk mengekstrak data dari beberapa file CSV ke file excel (kode di halaman ini) dan mengonversi file csv ke file excel ( yang ini: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), dengan hasil yang bagus. Mereka membantu saya menghemat banyak waktu.

Namun, saya melihat masalah umum dengan kedua jenis kode ini. Untuk memperjelas, sistem saya diatur untuk menggunakan standar Eropa untuk tanggal, sementara beberapa file CSV yang saya terima untuk pekerjaan saya berisi tanggal dalam standar AS. Masalah pertama adalah, ketika saya mengekstrak atau mengonversi data dari file CSV yang berisi tanggal dalam format AS, semua tanggal tersebut dibalik (sesuai dengan standar UE yang digunakan oleh sistem saya). Ini bagus tetapi juga menyebabkan saya kesulitan karena saya tidak tahu kode akan membalikkan tanggal untuk saya, jadi saya melanjutkan dan melakukan hal yang sama lagi. Masalah kedua adalah, untuk file CSV yang berisi tanggal sudah dalam format yang sama dengan yang digunakan oleh sistem saya (standar UE), hanya tanggal ambigu yang dibalik (yaitu 04/05/2019 - 05/04/2019), sedangkan yang terlalu kentara, tetap tidak berubah (yaitu 30/04/2019).

Apa yang saya ingin kode lakukan, adalah hal yang sama persis seperti yang ditunjukkan di sini, hanya saja mereka harus menyalin dan menempelkan data (terutama tanggal) dalam format yang sama persis dengan yang digunakan dalam file asli. Ini akan membantu mencegah kemungkinan kebingungan dan kesalahan. Saya ingin belajar VBA sehingga suatu hari nanti saya dapat menulis kode saya sendiri, tetapi untuk saat ini, saya bahkan tidak dapat mengubah bagian dari kode yang ada agar sesuai dengan kebutuhan saya. Jadi jika Anda dapat membantu, tolong beri tahu saya di mana saya harus meletakkan kode yang dimodifikasi (yang Anda buat) ke kode yang ada. Saya menghargai semua umpan balik & dukungan yang bisa saya dapatkan. Terima kasih semua!
Komentar ini diminimalkan oleh moderator di situs
Hai Marshall, dalam metode Workbooks.Open, tambahkan opsi Local:=True.

yaitu
Setel xWb = Workbooks.Open(xStrPath & "\" & xFile, Lokal:=True)
Komentar ini diminimalkan oleh moderator di situs
Terima kasih banyak Robert. Maaf saya tidak bisa membalas Anda lebih awal. Saya tidak mendapatkan pemberitahuan apa pun sampai sekarang. Saya akan mencoba ini dan kembali kepada Anda nanti untuk memberi tahu Anda jika ini berhasil.
Komentar ini diminimalkan oleh moderator di situs
Hai Robert,
Ini aku lagi. Butuh beberapa saat bagi saya untuk benar-benar memiliki waktu untuk mengetahui bagian kode mana yang harus ditambahkan bagian "Lokal:True". Hasilnya ternyata bagus karena tanggalnya tidak lagi dibalik. Terima kasih!
Bagi siapa pun yang memiliki masalah yang sama, cukup ubah baris ini:
Setel xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)

Untuk ini:
Setel xWb = Workbooks.Open(xStrPath & "\" & xFile, Lokal:=True)
Komentar ini diminimalkan oleh moderator di situs
Hai, apakah ada cara untuk mengimpor beberapa file csv dengan titik koma sebagai pemisah? Terima kasih!
PS Artikel yang bagus!
Komentar ini diminimalkan oleh moderator di situs
Hai tim

Saya menggunakan kode untuk mengimpor Beberapa file XML ke dalam satu lembar dengan VBA namun masalah yang saya hadapi adalah ketika jumlah baris mencapai sekitar 650000, maka itu tidak memproses sisa file xml di folder dan memberikan kesalahan bahwa tidak ada file xml . Butuh dukungan Anda untuk meningkatkan jumlah ini.
Komentar ini diminimalkan oleh moderator di situs
Hai Pakar

Saya menggunakan kode di atas untuk mengimpor beberapa file xml ke dalam 1 lembar kerja menggunakan VBA namun masalah yang saya hadapi adalah ketika jumlah baris mencapai 650000 dalam lembar kerja maka kode ini tidak memproses sisa file xml dalam folder. Ini memberikan kesalahan "tidak ada file.xml". Membutuhkan dukungan baik Anda
Komentar ini diminimalkan oleh moderator di situs
HelloInstruksi untuk mengimpor beberapa xml ke dalam satu tab dokumen excel berfungsi tetapi bertanya-tanya bagaimana cara membuatnya berbaris di kolom. xml saya tidak semuanya memiliki tag yang sama. Mereka diatur sedemikian rupa sehingga jika xml tidak memiliki data untuk beberapa tajuk (tag) maka tajuk tersebut hilang dari xml itu. Apakah ada cara untuk mendapatkan xml untuk diimpor sehingga tajuk yang sama dari setiap xml dan data terkait masuk ke kolom excel yang sama?
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan