Newbie Belajar Akuntansi


Friday, February 26, 2016

Gabung Beberapa File Excel

Gabung beberapa file excel - Kita telah belajar Gabung Beberapa Sheet Excel pada beberapa kesempatan yang lalu. Sekarang mari kita lanjutkan dengan metode menggabungkan beberapa file excel menjadi 1 file. Bedanya apa sama yang gabung sheet?. Jika gabung sheet maka kita menggabungkan beberapa sheet dalam satu workbook (1 file excel), sedangkan Gabung file excel berarti kita akan menggabungkan beberapa workbook menjadi 1 workbook, many files to 1 file.
Sebelum kita simulasikan penggabungan file excel, harus kalian pahami dulu beberapa “syarat”.

  1. Penggabungan ini hanya menggabungkan sheet pertama. Maka jika ada beberapa sheet, gabungkan dulu dengan gabung sheet excel di artikel sebelumnya.
  2. Pastikan format kolom sama, sehingga kalian tidak akan kesulitan untuk mengolahnya lebih lanjut.
  3. Semakin banyak data yang di join, semakin lama prosesnya.
  4. Pastikan file-file (workbook) yang akan di gabung berada dalam 1 folder yang sama.

Sepertinya itu saja yang harus di pahami terlebih dahulu, selanjutnya yuk praktekkk. Aplikasi yang saya gunakan adalah MS Office Excel 2010, tetapi ini juga bisa berjalan lancar jaya di 2007. Untuk 2013 kebelakang belum pernah mencoba.


Dicontoh diatas berikut saya memiliki 3 file excel dengan masing-masing memiliki kontem yang kolomnya sama, bisa saja saya gabungkan secara manual dengan copy/cut paste, tapi jika file yang anda akan join berjumlah puluhan, ratusan, resiko miss / kelewatan akan sangat besar. Dalam contoh saya sengaja berikan header dengan warna berbeda, untuk “nge-tes” kalau file excel telah tergabung semua.


Langkah pertama, buka excel baru (new workbook), kemudian buka ribbon Developer. (Jika belum ada opsi developer, lihat di artikel join sheet excel).

Klik "Visual basic" bisa juga dengan hot key ALT+F11.

Pada bagian samping kiri, klik kanan pada "ThisWorkbook" > "Insert" > "Module"

Akan muncul kotak untuk memasukkan kode, nah, masukkan kode berikut:

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:\Excel\Merge File")
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 "A1048576" to the same column as start point
Range("A1:IV" & Range("A1048576").End(xlUp).Row).Copy
ThisWorkbook.Worksheets(1).Activate
 
'Do not change the following column. It's not the same column as above
Range("A1048576").End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False
bookList.Close
Next
End Sub


Bold merah: adalah lokasi dimana FOLDER yang berisi file-file excel yang akan di joint. Dalam contoh, lokasi folder saya berada di D:\Excel\Merge File.



Langkah terakhir, eksekusi dengan RUN (klik icon segitiga), atau dengan hot key F5.





Selesai, itulah cara menggabungkan file excel menjadi satu. Sekarang beberapa file excel telah tergabung dalam 1 file workbook dan dalam 1 sheet. Dengan begini kalian bisa mengolah lebih lanjut data tersebut sesuai kebutuhan. Selamat mencoba, semoga membantu.


Gabung Beberapa File Excel Rating: 4.5 Diposkan Oleh: Danang Widi

1 comments:

  1. Trik yang sangat berguna sekali,
    namun saya ingin bertanya, jadi setelah saya jalankan Code tersebut, dan saya telusuri pelan-pelan, setelah kode yg ini

    '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 "A1048576" to the same column as start point
    Range("A1:IV" & Range("A1048576").End(xlUp).Row).Copy
    ThisWorkbook.Worksheets(1).Activate

    nah yg tercopy adalah excel kosong dimana saya menjalankan module ini kemudian baru membuka file excel yg ada di path yang kita sort, saya bingung, apakah ada code untuk mengaktifkan dulu file excel yg di buka melalui

    Set bookList = Workbooks.Open(everyObj)

    kemudian baru dicopy?

    mohon pencerahannya, terima kasih

    ReplyDelete