Split dan Join di VBA Excel, Teknik Sederhana untuk Mengolah Teks

Saat membuat aplikasi VBA, kita tidak selalu bekerja dengan angka. Dalam banyak kasus, kita justru harus mengolah data berbentuk teks.

Misalnya:

  • memisahkan daftar nama yang dipisahkan tanda koma;

  • mengolah data hasil impor dari sistem lain;

  • membaca data CSV;

  • menggabungkan kembali beberapa teks menjadi satu kalimat.

Sebagian orang mencoba menyelesaikan pekerjaan tersebut menggunakan fungsi Left, Mid, atau Right. Cara tersebut memang dapat digunakan, tetapi akan menjadi rumit jika jumlah data cukup banyak.

VBA menyediakan dua fungsi sederhana yang sangat membantu untuk pekerjaan semacam ini, yaitu Split dan Join.


Apa Itu Split?

Split adalah fungsi VBA yang digunakan untuk memecah sebuah string menjadi beberapa bagian, kemudian menyimpannya ke dalam sebuah array.

Sintaks dasarnya adalah:

Split(Expression, Delimiter)

Keterangan:

  • Expression → teks yang akan dipisahkan.

  • Delimiter → karakter pemisah.

Hasil dari Split selalu berupa array.


Contoh 1 — Memisahkan Teks

Sub ContohSplit()

    Dim Data() As String

    Data = Split("Andi,Budi,Citra", ",")

    Debug.Print Data(0)
    Debug.Print Data(1)
    Debug.Print Data(2)

End Sub

Hasilnya:

Andi
Budi
Citra

Setiap bagian teks disimpan pada indeks array yang berbeda.


Menggunakan Perulangan

Karena hasil Split berupa array, Anda dapat mengakses seluruh elemennya menggunakan perulangan.

Sub SplitLoop()

    Dim Item
    Dim Hasil

    Hasil = Split("A,B,C,D,E", ",")

    For Each Item In Hasil

        Debug.Print Item

    Next Item

End Sub

Menggunakan Delimiter Lain

Delimiter tidak harus berupa koma.

Misalnya menggunakan tanda pagar.

Dim Data

Data = Split("A#B#C#D", "#")

Atau menggunakan titik koma.

Data = Split("A;B;C", ";")

Apa Itu Join?

Jika Split memecah string menjadi array, maka Join melakukan kebalikannya.

Join digunakan untuk menggabungkan seluruh elemen array menjadi satu string.

Sintaksnya:

Join(Array, Delimiter)

Contoh 2 — Menggabungkan Array

Sub ContohJoin()

    Dim Kota

    Kota = Array("Jakarta", "Bandung", "Surabaya")

    MsgBox Join(Kota, ", ")

End Sub

Hasilnya:

Jakarta, Bandung, Surabaya

Mengubah Delimiter

Anda bebas menentukan karakter penghubung.

Join(Kota, " | ")

Hasil:

Jakarta | Bandung | Surabaya

Split dan Join Bersama-sama

Kedua fungsi ini sering digunakan secara berpasangan.

Sub Gabungan()

    Dim Nama

    Nama = Split("Andi,Budi,Citra", ",")

    MsgBox Join(Nama, " - ")

End Sub

Hasil:

Andi - Budi - Citra

Studi Kasus

Misalkan sebuah sel berisi data berikut.

Laptop,Mouse,Keyboard,Printer

Anda ingin menampilkan setiap item pada Immediate Window.

Sub DaftarBarang()

    Dim Barang
    Dim Item

    Barang = Split(Range("A1").Value, ",")

    For Each Item In Barang

        Debug.Print Item

    Next Item

End Sub

Sebaliknya, jika daftar barang berada dalam array dan ingin ditampilkan menjadi satu kalimat:

MsgBox Join(Barang, ", ")

Split vs TextToColumns

SplitTextToColumns
Menghasilkan array Menghasilkan beberapa kolom di worksheet
Tidak mengubah isi worksheet Langsung mengubah data di worksheet
Cocok untuk pemrosesan di dalam kode Cocok untuk mengolah data pada lembar kerja

Jika data hanya perlu diproses oleh VBA, Split biasanya lebih efisien.


Kesalahan yang Sering Terjadi

Menganggap Hasil Split Berupa String

Salah:

Dim Nama As String

Nama = Split("A,B,C", ",")

Split menghasilkan array, sehingga variabel harus mampu menampung array.

Benar:

Dim Nama()

atau

Dim Nama As Variant

Mengakses Indeks yang Tidak Ada

Misalnya:

Split("A,B", ",")(3)

Kode tersebut akan menghasilkan Subscript out of range.


Menggunakan Join pada Variabel Biasa

Join hanya dapat digunakan pada array.


Tips Praktis

💡 Gunakan Split untuk memisahkan data hasil impor atau CSV.

💡 Gunakan Join untuk menggabungkan isi array menjadi satu string.

💡 Padukan Split dengan For Each untuk memproses setiap elemen.

💡 Gunakan delimiter yang sesuai dengan format data.

💡 Periksa jumlah elemen array sebelum mengakses indeks tertentu.


Ringkasan

FungsiKegunaan
Split() Memecah string menjadi array
Join() Menggabungkan array menjadi string
Delimiter Karakter pemisah atau penghubung
For Each Membaca setiap elemen hasil Split

Kesimpulan

Split dan Join merupakan dua fungsi yang sangat berguna dalam pengolahan data teks di VBA Excel. Dengan Split, Anda dapat memecah sebuah string menjadi array sehingga setiap bagian dapat diproses secara terpisah. Sebaliknya, Join memungkinkan Anda menggabungkan kembali seluruh elemen array menjadi satu string. Memahami kedua fungsi ini akan mempermudah pengolahan data hasil impor, file CSV, maupun berbagai jenis teks yang menggunakan karakter pemisah.

Hubungi Kami

Kantor Berkreasi
Alamat :
Pens Sky Venture - Sukolilo Surabaya
Karangrejo Tmur 17 Surabaya

Email : kantor.berkreasi@gmail.com
WA : wa.me/6287761589881  
(Support  Mbak Ana)

Tim Pengembang

Dr. Rojabi Azharghany, M.Si, S.Sos
Dr. H. Agus Sulthoni Imami, S.Psi. M.Pd.I.
Ali Ishaq, M.Pd.
Didik Rahwiniyanto, S.Si., M.Pd.
Mujiburrohman, M.Pd.
Mohammad Zikky, S.ST, M.T
Amien sawedi, S.Pd.
Didik P Wicaksono, M.Pd.