3 Langkah Mudah Menggabungkan banyak file excel menjadi satu sheet.

Tulisan ini adalah versi upgrade dari tulisan sebelum nya  yang berjudul  Macro Menggabungkan Banyak File Excel menjadi Satu Sheet Excel.

Pada pembahasan sebelum nya hanya menggabungkan  file excel dengan  sheet  yang sedang aktif.
artinya  kita  tidak bisa memilih  sheet mana  yang akan kita  gabungkan.

Yuk  kita simak dan praktekan langkah-langkah nya:

Daftar Isi:



Langkah 1 : Siapkan satu file excel yang berisi list file  yang akan kita  gabungkan.

Siapkan satu file yang berektensi  XLSM atau XLSB  karena  versi  excel 2007  ke atas ,hanya  ektensi ini yang  bisa menyimpan kode macro.
perhatikan gambar  berikut:



Keterangan  no 1:  file  yang berektensi XLSM , nama  file  terserah anda

Keterangan no 2 :  buat  2 sheet , yang pertama beri nama  data_file_yg_akan_dicopy  ya... nama sheet nya harus benar benar sama dengan ini.
kemudian buat satu  sheet lagi yang di beri nama Hasil  ya. sekali lagi  nama  file nya  harus sama. sheet ini adalah tempat menampung  data  yang  sudah di gabungkan.

Keterangan no 3 :  buat  list file  yang akan di gabung,struktur nya harus sama dengan  yang di gambar di mulai  dari kolom A  dan berakhor di kolom H.

Kolom  A:  Isi  nomor, ini hanya sebagai referensi jumah file saja
Kolom  B:  Isi dengan nama  file  yang akan di gabung boleh semua  ektensi excel, dalam contoh saya menggunakan XSLB karena kebetulan saja.
Kolom C : Isi dengan  nama  folder tempat menyimpan file tersebut
Kolom D: isi dengan nama  sheet  yang akan di gabung
Kolom E : Isi dengan  mulai dari sel mana  data  yang akan di gabung
Kolom F : Isi dengan akhir dari sel yang akan di gabung
Kolom G: Isi dengan nama file yang akan menampung data setelah di gabungkan
Kolom H : Isi dengan  sel  Tujuan , dalam contoh  saya mulai  dari sel A1

catatan: anda  bisa  saja merubah nama sheet sesuai dengan keinginan tapi juga harus merubah kode macro nya

Langkah 2 : Copy paste  kode macro di bawah ini

Copy  kode  di bawah  dengan  cara  blok semua  kode  dan  tekan Ctrl + C

Public namaFile As String
Public rangeygakandicopy As String
Public wb As Workbook
Public data As Workbook
Sub gabung()
    Dim Hasil As String
    Dim kolomasal As String
    Dim daftarsheet As String
    daftarsheet = "data_file_yg_akan_dicopy"
    Sheets(daftarsheet).Select
    Range("B2").Select
    Set wb = ActiveWorkbook
    Do While ActiveCell.Value <> ""
        namaFile = ActiveCell.Offset(0, 1) & ActiveCell.Value
        sheetasal = ActiveCell.Offset(0, 2)
        rangeygakandicopy = ActiveCell.Offset(0, 3) & ":" & ActiveCell.Offset(0, 4)
        Hasil = ActiveCell.Offset(0, 4).Value
        kolomasal = Mid(ActiveCell.Offset(0, 5), 2, 1)
        Application.Workbooks.Open namaFile, UpdateLinks:=False, ReadOnly:=True
        Set data = ActiveWorkbook
        Sheets(sheetasal).Select
        Range(rangeygakandicopy).Copy
        wb.Activate
        Sheets("Hasil").Select
        row_paling_akhir = data_terakhir(kolomasal)
        Cells(row_paling_akhir + 1, 1).Select
        Selection.PasteSpecial xlPasteValues, xlPasteSpecialOperationNone
        Application.CutCopyMode = False
        data.Close False
        Sheets(daftarsheet).Select
        ActiveCell.Offset(1, 0).Select
    Loop
    Exit Sub
End Sub

Public Function data_terakhir(col)
    Dim row_paling_akhir As Long
    With ActiveSheet
    row_paling_akhir = .Cells(.Rows.Count, col).End(xlUp).Row
    End With
    data_terakhir = row_paling_akhir
End Function

Buka  VBA  editor di file excel yang sudah di siapkan..dengan  cara  menekan  tombol ALT + F11 di keyboard.

Insert Module dan  tekan  ctrl + V untuk meletakan kode yang sudah di copy.

Perhatikan  gambar berikut





Langkah 3 : Buat Tombol  untuk menjalankan kode macro

tombol  ini penting  agar  mudah saat eksekusi.



insert  shape  dan  buat nama  terserah anda, kemudian  asign  macro. jadi saat anda klik tombol tersebut maka  akan menjalankan kode macro.


smoga bermanfaat dan ada yang punya pengalaman dan mau share menggabungkan banyak file excel menjadi satu. ?


Rgds
Effendi Wijaya




Post a Comment

0 Comments