VBA Membagi String menjadi Array

Excel VBA Membagi String menjadi Array

Sebuah string adalah sekumpulan karakter yang digabungkan, ketika karakter tersebut dibagi dan disimpan dalam sebuah variabel maka variabel tersebut menjadi sebuah array untuk karakter tersebut dan cara yang kita gunakan untuk membagi sebuah string menjadi sebuah array adalah dengan menggunakan fungsi SPLIT di vba yang membagi string menjadi string satu dimensi.

Seperti lembar kerja di VBA, kami juga memiliki fungsi untuk menangani nilai String atau Teks. Kami sangat akrab dengan operasi string seperti mengekstrak nama cemara, nama belakang, nama tengah, dll. Tetapi bagaimana dengan gagasan membagi nilai string menjadi array di VBA? Ya, Anda mendengarnya dengan benar, kami dapat membagi kalimat string menjadi array dengan menggunakan pengkodean VBA dan dalam artikel khusus ini, kami akan menunjukkan kepada Anda cara membagi string menjadi array di Excel VBA.

Apa itu Split String into an Array?

Izinkan saya mengklarifikasi ini terlebih dahulu, "String menjadi Array" tidak lain adalah "bagian yang berbeda dari kalimat atau string akan dipecah menjadi beberapa bagian". Misalnya, jika kalimatnya adalah "Bengaluru adalah ibu kota Karnataka", maka setiap kata adalah larik yang berbeda.

Jadi, cara membagi kalimat ini menjadi array adalah topik artikel ini.

Bagaimana cara mengubah Split String menjadi Array di Excel VBA?

Untuk mengubah string yang dipisahkan menjadi array di VBA kita memiliki fungsi yang disebut "SPLIT". Ini adalah fungsi VBA yang melakukan tugas membagi nilai string yang diberikan ke bagian berbeda berdasarkan pemisah yang disediakan.

Misalnya, jika kalimatnya adalah "Bengaluru adalah ibu kota Karnataka", spasi adalah pemisah antara setiap kata.

Di bawah ini adalah sintaks dari fungsi SPLIT.

  • Nilai atau Ekspresi: Ini adalah nilai string atau teks yang kami coba ubah menjadi array dengan memisahkan setiap bagian dari string.
  • [Pembatas]: Ini tidak lain adalah hal umum yang memisahkan setiap kata dalam string. Dalam kalimat kita “Bangalore adalah ibu kota Karnataka”, setiap kata dipisahkan oleh karakter spasi sehingga pembatas kita adalah spasi.
  • [Batas]: Batasan tidak lain adalah berapa banyak bagian yang kita inginkan sebagai hasilnya. Misalnya pada kalimat “Bangalore adalah ibu kota Karnataka” kita memiliki tujuh bagian jika kita hanya membutuhkan tiga bagian maka kita akan mendapatkan bagian pertama sebagai "Bangalore", bagian kedua sebagai "adalah" dan bagian ketiga sebagai sisa kalimat yaitu “ibu kota Karnataka”.
  • [Bandingkan]: Ini tidak digunakan 99% dari waktu, jadi jangan menyentuh ini pada saat ini.
Anda dapat mendownload Template VBA Split String into Array Excel ini di sini - Template VBA Split String into Array Excel

Contoh 1

Ok, sekarang mari kita lihat contoh praktisnya.

Langkah 1: Tentukan variabel VBA untuk menampung nilai string.

Kode:

 Sub String_To_Array () Dim StringValue As String End Sub 

Langkah 2: Untuk variabel ini tetapkan string "Bangalore adalah ibu kota Karnataka".

Kode:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore adalah ibu kota Karnatka" End Sub 

Langkah 3: Selanjutnya tentukan satu variabel lagi yang dapat menampung setiap bagian dari nilai string di atas. Hal ini perlu kita ingat di sini karena kalimat memiliki lebih dari satu kata kita perlu mendefinisikan variabel sebagai "Array" untuk menampung lebih dari satu nilai.

Dalam kasus ini, kita memiliki 7 kata dalam string, jadi, tentukan array sebagai berikut.

Kode:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore adalah ibu kota Karnatka" Dim SingleValue () As String End Sub 

Sekarang untuk variabel array ini, kita akan menggunakan fungsi SPLIT untuk membagi string menjadi array di Excel VBA.

Kode:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore adalah ibu kota Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub 

Ekspresi tersebut adalah nilai string kita, yaitu variabel sudah menampung nilai string jadi masukkan nama variabel saja.

Pembatas dalam string ini adalah karakter spasi jadi sediakan sama.

Kode:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore adalah ibu kota Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub 

Sekarang tinggalkan bagian lain dari fungsi SPLIT.

Fungsi SPLIT membagi nilai string menjadi 7 bagian setiap kata dipisahkan dengan mengorbankan karakter spasi. Karena kita telah mendeklarasikan variabel "SingleValue" sebagai array kita dapat menetapkan semua 7 nilai ke variabel ini.

Kita dapat menulis kodenya sebagai berikut.

Kode:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore adalah ibu kota Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) End Sub 

Jalankan kode dan lihat apa yang kita dapatkan di kotak pesan.

Sampai sekarang, kita bisa melihat kata pertama yaitu “Bangalore” untuk menunjukkan kata selanjutnya kita bisa menulis kode sebagai berikut.

Kode:

 Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore adalah ibu kota Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) & vbNewLine & SingleValue (1) & vbNewLine & SingleValue (2) & vbNewLine & SingleValue (3) & _vbNewLine & SingleValue (4) & vbNewLine & SingleValue (5) & vbNewLine & SingleValue (6) End Sub 

Sekarang jalankan kode dan lihat apa yang kita dapatkan di kotak pesan.

Setiap kata telah dipecah menjadi array.

Contoh # 2

Sekarang bayangkan situasi menyimpan nilai-nilai ini ke sel yaitu setiap kata ke dalam sel terpisah. Untuk ini, kita perlu menyertakan loop FOR NEXT di VBA.

Kode di bawah ini akan memasukkan setiap kata ke dalam sel terpisah.

 Sub String_To_Array1 () Dim StringValue As String StringValue = "Bangalore adalah ibu kota Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") Dim k As Integer For k = 1 To 7 Cells (1, k) .Value = SingleValue (k - 1) Berikutnya k End Sub 

Ini akan memasukkan setiap kata seperti yang ditunjukkan pada gambar di bawah ini.

Hal-hal untuk diingat

  • Larik dan loop digunakan bersama untuk membuat kode menjadi dinamis.
  • Fungsi SPLIT membutuhkan pembatas umum yang memisahkan setiap kata dalam kalimat.
  • Panjang larik dimulai dari nol, bukan dari 1.