SubString VBA - Bagaimana cara Mengekstrak Substring menggunakan Fungsi VBA?

Excel VBA SubString

SubString adalah bagian dari string atau porsi atau karakter dari string yang disebut “SubString”. Ada tiga jenis fungsi substring di VBA LEFT, RIGHT dan MID mereka mirip dengan substring worksheet di excel.

Sebuah string tidak lain adalah serangkaian karakter, dan karakter bisa berupa huruf, angka, karakter khusus, dan juga menggabungkan semuanya.

Seringkali di excel, ketika kita bekerja dengan data, yaitu string, kita hanya perlu mendapatkan porsi string untuk memfasilitasi tujuan kita. Kita mungkin tidak membutuhkan string lengkap untuk digunakan, tapi kita hanya membutuhkan bagian dari string untuk kita gunakan. Misalnya, jika Anda memiliki nama "Sachin Tendulkar", Anda mungkin hanya memerlukan bagian pertama dari nama tersebut, yaitu hanya "Sachin". Ini disebut sebagai SubString string di Excel VBA. Untuk menangani string ini, kami memiliki fungsi bawaan di bawah fungsi TEXT di kategori excel.

Pada artikel ini, kita akan membahas cara mendapatkan substring dari string lengkap di VBA.

Bagaimana Cara Menggunakan Fungsi SubString di VBA?

Untuk mengekstrak substring dari string, kami memiliki beberapa fungsi teks bawaan, dan beberapa fungsi penting adalah LEFT, RIGHT, INSTR dan MID di excel. Fungsi Instr akan berfungsi sebagai fungsi pendukung untuk tiga fungsi lainnya.

Kita akan melihat bagaimana menggunakan fungsi ini untuk mengekstrak substring secara praktis. Baca contoh di bawah ini untuk memahaminya.

Contoh # 1 - Menggunakan Fungsi Kiri

Jika Anda memiliki nama lengkap sebagai "Sachin Tendulkar" dan Anda hanya perlu nama depan yang akan diekstrak sebagai substring, gunakan kode berikut untuk mendapatkan yang sama.

Langkah 1: Buat nama makro dan tentukan dua variabel sebagai String.

Kode:

Sub SubString_Example1 () Redupkan FullName Sebagai String Dim FirstName As String End Sub

Langkah 2: Sekarang tetapkan nama "Sachin Tendulkar" ke variabel FullName .

Kode:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" End Sub

Langkah 3: Sekarang, variabel FullName menyimpan nilai "Sachin Tendulkar". Sekarang kita perlu mengekstrak substring VBA excel dari nama depan dari nama lengkap. Jadi, tetapkan nilai untuk variabel FirstName melalui fungsi LEFT.

Kode:

Sub SubString_Example1 () Redupkan FullName Sebagai String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Kiri (End Sub

Langkah 4: Fungsi VBA LEFT argumen pertama adalah String; itulah nilai penuh atau string penuh. Dalam contoh ini, nilai penuh atau string kita adalah "Sachin Tendulkar", yang ditetapkan ke variabel FullName.

Jadi berikan variabel FullName sebagai argumennya.

Kode:

Sub SubString_Example1 () Redupkan FullName Sebagai String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Sub Ujung Kiri

Langkah 5: Argumen selanjutnya adalah berapa banyak karakter yang kita butuhkan dari string yang telah kita berikan, jadi dalam hal ini, kita membutuhkan nama depan “ Sachin ” jadi totalnya, kita membutuhkan 6 karakter dari sisi kiri.

Kode:

Sub SubString_Example1 () Redupkan FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) End Sub

Langkah 6: Sekarang tunjukkan hasilnya di kotak pesan di VBA.

Kode:

Sub SubString_Example1 () Redupkan FullName Sebagai String Dim FirstName Sebagai String FullName = "Sachin Tendulkar" FirstName = Kiri (FullName, 6) MsgBox FirstName End Sub

Langkah 7: Jalankan makro, lihat nama depan sebagai substring di kotak pesan.

Contoh # 2 - Dapatkan SubString dari Kanan

Seperti bagaimana kami mengekstrak substring dari kiri dengan cara yang sama, kami juga dapat mengekstrak dari kanan. Ambil nama yang sama sebagai contoh.

Langkah 1: Tentukan dua variabel sebagai String.

Kode:

Sub SubString_Example2 () Redupkan Nama Lengkap Sebagai String Redupkan Nama Belakang Sebagai String Akhir Sub

Langkah 2: Seperti biasa, tetapkan nilai ke variabel FullName sebagai "Sachin Tendulkar".

Kode:

Sub SubString_Example2 () Redupkan Nama Penuh Sebagai String Redupkan Nama Belakang Sebagai String FullName = "Sachin Tendulkar" End Sub

Langkah 3: Sekarang, untuk variabel LastName, tetapkan nilai melalui fungsi excel KANAN.

Kode:

Sub SubString_Example2 () Redupkan Nama Penuh Sebagai String Redupkan Nama Belakang Sebagai String FullName = "Sachin Tendulkar" LastName = Kanan (End Sub

Langkah 4: String adalah Nama Lengkap kami , jadi berikan variabelnya.

Kode:

Sub SubString_Example2 () Redupkan FullName As String Redupkan Nama Belakang Sebagai String FullName = "Sachin Tendulkar" LastName = Kanan (FullName, End Sub

Langkah 5: Panjang adalah berapa banyak karakter yang kita butuhkan dari sisi kanan. Kami membutuhkan 9 karakter di sisi kanan.

Kode:

Sub SubString_Example2 () Redupkan FullName Sebagai String Redup LastName As String FullName = "Sachin Tendulkar" LastName = Kanan (FullName, 9) End Sub

Langkah 6: Tunjukkan nilai ini di kotak pesan .

Kode:

Sub SubString_Example2 () Redupkan FullName Sebagai String Redup LastName As String FullName = "Sachin Tendulkar" LastName = Kanan (FullName, 9) MsgBox LastName End Sub

Langkah 7: Jalankan makro. Kami akan melihat nama belakang di kotak pesan.

Contoh # 3 - Menggunakan Fungsi Instr

Dalam contoh di atas, kami hanya memiliki satu nama, dan kami telah langsung menyediakan berapa banyak karakter yang kami butuhkan dari kiri & kanan. Tetapi dalam kasus banyak nama, karakter nama depan & nama belakang tidak sama, akan berbeda dari nama ke nama. Dalam kasus tersebut, kami tidak dapat menyediakan jumlah karakter secara langsung sehingga kami dapat menggunakan fungsi Instr.

Fungsi instr akan mengembalikan posisi karakter yang disediakan dalam string. Misalnya, lihat kode di bawah ini.

Kode:

Sub SubString_Example3 () Dim Position As String Position = InStr (1, "Sachin", "a") MsgBox Position End Sub

InStr (1, "Sachin," "a"), ini akan mengidentifikasi posisi huruf "a" sebagai kemunculan pertama dalam string "Sachin". Dalam hal ini huruf “a” ada di posisi kedua. Jadi kita akan mendapatkan 2 sebagai hasilnya di kotak pesan.

Seperti ini, kita dapat menggunakan fungsi Instr untuk menemukan karakter spasi antara nama depan dan nama belakang.

Misalnya, lihat nama di bawah ini yang saya miliki di lembar excel.

Dengan menggunakan fungsi LEFT, RIGHT, dan Instr , kita dapat mengekstrak substring. Di bawah ini adalah kode untuk mengekstrak First Name.

Kode:

Sub FirstName () Dim K As Long Redup LR As Long LR = Sel (Rows.Count, 1). End (xIUp). Baris Untuk K = 2 Ke LR Sel (K, 2) Nilai = Kiri (Sel (K, 1) .Value, InStr (1, Cells (K, 1) .Value, "") - 1) Berikutnya K End Sub

Jalankan makro dan lihat nama depan sebagai substring di kotak pesan.

Gunakan kode di bawah ini untuk mengekstrak nama belakang sebagai substring.

Kode:

Sub LastName () Dim K As Long Redup LR As Long LR = Sel (Rows.Count, 1) .End (xIUp). Baris Untuk K = 2 Ke LR Sel (K, 3) Nilai = Kanan (Sel (K, 1) .Value, Len (Cells (K, 1)) - InStr (1, Cells (K, 1) .Value, "")) Berikutnya K End Sub

Jalankan makro, dan kita akan melihat nama belakang di kotak pesan.

Saya telah menetapkan tombol makro ke lembar kerja, mengunduh buku kerja, dan menggunakannya.

Artikel yang menarik...