Vba untuk menggabungkan beberapa file excel menjadi satu lembar

Untuk menggabungkan beberapa buku kerja Excel, Anda perlu menggunakan kode yang memungkinkan Anda memilih file yang ingin Anda gabungkan atau Anda bisa merujuk ke lokasi jalur tertentu dan menggabungkan semua file Excel yang ada di buku kerja saat ini

VBA Menggabungkan Beberapa Buku Kerja

Anda dapat menggunakan kode berikut yang menggunakan lokasi yang telah saya sebutkan di variabel path (folder dari desktop sistem saya)

Dim Path As String
Dim Filename As String
Dim Sheet As Worksheet

Path = "C:\Users\Dell\Desktop\sample-data\"
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""

Workbooks.Open Filename:=Path & Filename, ReadOnly:=True

    For Each Sheet In ActiveWorkbook.Sheets
        Sheet.Copy After:=ThisWorkbook.Sheets(1)
    Next Sheet

Workbooks(Filename).Close

Filename = Dir()
Loop

Langkah-langkah Menggabungkan File Excel menggunakan VBA

  1. Buka editor visual basic (pastikan untuk mengaktifkan tab pengembang jika Anda sudah memilikinya di pita)
    Vba untuk menggabungkan beberapa file excel menjadi satu lembar
    Vba untuk menggabungkan beberapa file excel menjadi satu lembar

    Unduh file di sini. MergeWorkBooks_ExampleFile. xls

    Baca juga Cara Membuka Proteksi Lembar Excel Tanpa Kata Sandi

    Untuk detail lebih lanjut, berikut adalah intro langkah demi langkah

    • Kumpulkan semua file xls atau xlsx yang ingin Anda gabungkan ke dalam folder. Ingatlah bahwa makro penggabungan ini hanya akan mengambil lembar kerja pertama pada file spreadsheet. Jadi pastikan semua konten ada di lembar kerja pertama sebelum melanjutkan

    Vba untuk menggabungkan beberapa file excel menjadi satu lembar
    Vba untuk menggabungkan beberapa file excel menjadi satu lembar

    • Tutup semua file excel yang berfungsi sehingga Anda hanya dapat fokus pada penggabungan file
    • Di MS Excel, buat spreadsheet baru hanya dengan menekan CTRL+N
    • Dan buka editor Microsoft Visual Basic dengan menekan ALT+F11, Anda akan melihat editor teks kosong
    • Sekarang buka dengan mengklik dua kali Buku Kerja Ini pada menu lembar kiri
    • Tempel kode makro berikut

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    Sub simpleXlsMerger()
    Dim bookList As Workbook
    Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
    Application.ScreenUpdating = False
    Set mergeObj = CreateObject("Scripting.FileSystemObject")
     
    'change folder path of excel files here
    Set dirObj = mergeObj.Getfolder("D:changetoexcelfilespathhere")
    Set filesObj = dirObj.Files
    For Each everyObj In filesObj
    Set bookList = Workbooks.Open(everyObj)
     
    'change "A2" with cell reference of start point for every files here
    'for example "B3:IV" to merge all files start from columns B and rows 3 
    'If you're files using more than IV column, change it to the latest column
    'Also change "A" column on "A65536" to the same column as start point
    Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy
    ThisWorkbook.Worksheets(1).Activate
     
    'Do not change the following column. It's not the same column as above
    Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
    Application.CutCopyMode = False
    bookList.Close
    Next
    End Sub

    • Ubah folder seperti yang disebutkan pada komentar pada kode makro
    • Ubah juga referensi awal kolom sesuai kebutuhan Anda (biasanya baris pertama digunakan oleh tajuk kolom, jadi saya menggunakan A2 sebagai titik awal)
    • Misalnya untuk mulai menggabungkan semua file dari kolom “B” baris “1”
    • Ubah "IV" hanya jika Anda memiliki file menggunakan kolom lebih lebar dari kolom "IV". Pada dasarnya, ini akan mencoba menyalin nilai pada semua kolom yang tersedia. Jika Anda melihat kolom terbaru pada lembar kerja baru adalah "IV", itu adalah kolom default yang tersedia hingga kolom Anda tumbuh lebih dari itu

    Range("B1:IV" & Range("B65536").End(xlUp).Row).Copy
    _

    • Jika semuanya sudah dikonfigurasi, tekan "F5" atau klik ikon putar untuk menjalankan kode (RunSub). Anda akan melihat progres pengerjaan di menu lembar kiri
    • Jika semua sudah selesai, kini Anda dapat beralih ke lembar kerja untuk melihat hasilnya

    Vba untuk menggabungkan beberapa file excel menjadi satu lembar
    Vba untuk menggabungkan beberapa file excel menjadi satu lembar

    Jika Anda mengatur folder baru di dalam kode, lalu tekan “F5″ atau tekan tombol SubRun, hasilnya akan ditambahkan ke lembar kerja saat ini di bawah data sebelumnya. Itu berarti itu tidak akan menimpa hasil terakhir tetapi sebagai penggabungan lain ke data gabungan sebelumnya. Sebagai kesimpulan, Anda dapat melakukan spam mengubah jalur folder dan menekan F5 untuk menjalankan kode untuk menggabungkan semua file di folder yang disediakan ke dalam lembar kerja saat ini. Jika Anda ingin memulai penggabungan baru untuk beberapa file xls atau xlsx, Anda harus menghapus lembar kerja saat ini, atau membuat file baru untuk digabungkan. Saya harap ada juga cara untuk menggabungkan spreadsheet mirip dengan ini tetapi untuk LibreOffice , karena saya juga mengerjakan beberapa file ods.

    Baca juga

    • Gabungkan Data dari Beberapa Lembar Kerja menjadi Lembar Kerja Utama di Excel menggunakan VBA
    • 5 makro Excel yang harus diketahui untuk tugas-tugas umum
    • Memahami Variable, Conditional dan Loops di Excel VBA

    Terima kasih . oaultimate. com

    Bagikan ini

    • Facebook
    • Twitter
    • LinkedIn
    • Surel
    • Telegram

    Terkait

    Bagaimana cara menggabungkan beberapa file Excel menjadi satu buku kerja?

    Klik menu Tools lalu pilih Merge Workbooks …. Jika diminta, simpan buku kerja. Di kotak dialog navigasi file, klik salinan buku kerja yang berisi perubahan yang ingin Anda gabungkan, lalu klik OK.

    Bagaimana cara menyalin data dari beberapa buku kerja menjadi satu menggunakan VBA?

    Berikut adalah langkah-langkah untuk menggunakan kode ini. .
    Masukkan semua file Excel yang ingin Anda gabungkan ke dalam satu folder. .
    Buka buku kerja Excel baru
    Tekan ALT + F11 (atau pergi ke Pengembang -> Kode -> Visual Basic). .
    Di Editor VB, di Editor Proyek, klik kanan salah satu objek untuk buku kerja dan buka Sisipkan -> Modul