Membagi 1 File Excel ke Dalam Beberapa File Excel

Kalkulator Cetak
4 min readSep 10, 2019

--

Adakalanya kita butuh memecah 1 file excel ke dalam beberapa file excel. Jadi informasi yang ada di dalam file excel tersebut dipecah-pecah ke dalam beberapa file excel sesuai kebutuhan. Saya mengalami masalah ini ketika saya harus meng-ribuan baris data excel ke dalam sebuah database padahal sekali upload hanya dapat membaca 50 baris data. Setelah putar sana putar sini, akhirnya saya menggunakan cara di bawah ini pada Microsoft Excel saya.

Pertama-tama, saya akan membagi data yang ada di dalam 1 Sheet, ke dalam beberapa Sheet tapi masih dalam 1 file Excel yang sama. Pada contoh kali ini saya memiliki data yang terdiri dari 1284 baris. Nah data ini akan saya pecah-pecah ke dalam beberapa Sheet dimana 1 Sheet terdiri dari 50 baris data.

Dari Excel, tekan Alt+F11 untuk membuka Visual Basic. Kemudian pilih Insert dan Module untuk membuka modul script VB.

Copy-paste command-command di bawah ini ke dalam modul script VB yang sudah terbuka

Sub SplitData()
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
On Error Resume Next
xTitleId = "AliefKasep"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
SplitRow = Application.InputBox("Split Row Num", xTitleId, 5, Type:=1)
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (WorkRng.Rows.Count - xRow.Row + 1) < SplitRow Then resizeCount = WorkRng.Rows.Count - xRow.Row + 1
xRow.Resize(resizeCount).Copy
Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)
Application.ActiveSheet.Range("A1").PasteSpecial
Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Jalankan command dengan memilih Run atau menekan F5. Maka kemudian akan muncul pertanyaan mengenai data mana yang hendak dipecah-pecah. Dalam contoh ini saya memilih data dari cell A1 sampai G1284. Hal ini dapat dilakukan dengan memblok cell yang hendak dipilih.

Kemudian akan muncul pertanyaan, pemecahannya hendak dibuat per-berapa baris? Pada contoh ini saya membutuhkan pemecahan data setiap 50 baris.

Setelah itu, command-command VB berjalan dan membuat data yang tadinya terdiri dari 1284 baris terpecah-pecah ke dalam 25 Sheet. Setiap Sheet pada Sheet2 sampai Sheet 27 berisi 50 bari pecahan data dari Sheet1. Sheet1 masih utuh berisikan data awal yang belum dipecah dan masih terdiri dari 1284 baris.

Baiklah, dengan selesainya proses di atas maka pemecahan 1 Sheet ke dalam beberapa Sheet sudah selesai. Selanjutnya, saya ingin memecah Sheet-Sheet ini ke dalam beberapa file Excel yang terpisah. Langkah berikutnya adalah kembali membuka Visual Basic dengan menekan Alt+F11. Kemudian kembali buka modul dan copy-paste command-command di bawah ini.

Sub Splitbook()
'AliefCakep
Dim xPath As String
xPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each xWs In ThisWorkbook.Sheets
xWs.Copy
Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xWs.Name & ".xlsx"
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Jalankan command dengan menekan F5 dan Sheet-Sheet pada file tersebut sudah terpecah-pecah ke dalam beberapa file excel yang terpisah. Judul dan isi dari masing-masing file tersebut akan sama persis dengan Sheet-Sheet yang terdapat pada file awal.

Akhir kata, semoga bermanfaat (^_^).

Originally published at http://aliefworkshop.com on September 10, 2019.

--

--

No responses yet