SubString VBA - Bagaimana Mengekstrak Substring menggunakan Fungsi VBA?

Isi kandungan

SubString Excel VBA

SubString adalah bahagian dari rentetan atau bahagian atau watak rentetan disebut "SubString". Terdapat tiga jenis fungsi substring di VBA LEFT, RIGHT dan MID mereka serupa dengan substring lembaran kerja di excel.

Rentetan tidak lain adalah rangkaian watak, dan watak boleh terdiri daripada huruf, angka, watak khas, dan juga menggabungkan semua ini.

Sering kali di excel, ketika kita bekerja dengan data, yang merupakan rentetan, kita hanya perlu mendapatkan bahagian rentetan untuk memudahkan tujuan kita. Kami mungkin tidak memerlukan tali penuh untuk digunakan, tetapi kami hanya memerlukan bahagian rentetan untuk digunakan. Contohnya, jika anda mempunyai nama "Sachin Tendulkar", anda mungkin hanya memerlukan bahagian pertama dari nama tersebut, iaitu hanya "Sachin." Ini dipanggil sebagai SubString rentetan dalam Excel VBA. Untuk menangani rentetan ini, kami mempunyai fungsi terbina dalam fungsi TEXT dalam kategori excel.

Dalam artikel ini, kita akan membincangkan cara mendapatkan substring dari rentetan penuh di VBA.

Bagaimana Menggunakan Fungsi SubString di VBA?

Untuk mengekstrak substring dari rentetan, kami mempunyai beberapa fungsi teks bawaan, dan beberapa fungsi penting adalah KIRI, KANAN, INSTR dan MID dalam excel. Fungsi Instr akan berfungsi sebagai fungsi sokongan untuk tiga fungsi yang lain.

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

Contoh # 1 - Menggunakan Fungsi Kiri

Sekiranya anda mempunyai nama lengkap sebagai "Sachin Tendulkar" dan anda hanya memerlukan nama pertama yang akan diekstrak sebagai substring, gunakan kod berikut untuk mendapatkan yang sama.

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

Kod:

Sub SubString_Contoh1 () Dim PenuhNama Sebagai String Dim FirstName Sebagai String End Sub

Langkah 2: Sekarang tetapkan nama "Sachin Tendulkar" kepada FullName pemboleh ubah .

Kod:

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

Langkah 3: Sekarang, pembolehubah FULLNAME memegang nilai "Sachin Tendulkar." Sekarang Kita perlu mengekstrak substring VBA excel dari nama pertama dari nama penuh. Jadi, berikan nilai untuk pemboleh ubah FirstName melalui fungsi KIRI.

Kod:

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

Langkah 4: Argumen pertama fungsi VBA LEFT adalah String; itulah nilai penuh atau rentetan penuh. Dalam contoh ini, nilai penuh atau rentetan kami adalah "Sachin Tendulkar," yang diberikan kepada Pembolehubah Nama Lengkap.

Jadi pemboleh ubah pembekalan FullName sebagai hujah.

Kod:

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

Langkah 5: Argumen seterusnya adalah berapa banyak watak yang kita perlukan dari rentetan yang telah kita sediakan, jadi dalam kes ini, kita memerlukan nama pertama " Sachin " sehingga secara total, kita memerlukan 6 watak dari sebelah kiri.

Kod:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Kiri (Nama Penuh, 6) Sub Akhir

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

Kod:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Kiri (Nama Penuh, 6) MsgBox FirstName End Sub

Langkah 7: Jalankan makro melihat nama pertama sebagai substring di kotak mesej.

Contoh # 2 - Dapatkan SubString dari Kanan

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

Langkah 1: Tentukan dua pemboleh ubah sebagai String.

Kod:

Sub SubString_Contoh2 () Dim FullName Sebagai String Dim LastName Sebagai String End Sub

Step 2: As usual, assign the value to the variable FullName as “Sachin Tendulkar.”

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" End Sub

Step 3: Now, for the variable LastName, assign the value through the RIGHT excel function.

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right( End Sub

Step 4: String is our FullName, so supply the variable.

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right(FullName, End Sub

Step 5: Length is how many characters we need from the right side. We need 9 characters on the right side.

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right(FullName, 9) End Sub

Step 6: Show this value in the message box.

Code:

Sub SubString_Example2() Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right(FullName, 9) MsgBox LastName End Sub

Step 7: Run the macro. We will see the last name in the message box.

Example #3 - Using Instr Function

In the above examples, we had only one name, and we have directly supplied how many characters we need from the left & right. But in the case of many names, first name & last name characters are not the same, it will differ from name to name. In those cases, we cannot supply the number of characters directly so we can use the function Instr.

Instr function will return the supplied character position in the string. For example, look at the below code.

Code:

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

InStr(1, “Sachin,” “a”), this will identify the position of the letter “a” as the first appearance in the string “Sachin.” In this case letter, “a” is in the second position. So we will get 2 as a result in the message box.

Like this, we can use the Instr function to find the space character between the first name and last name.

For example, look at the below name I have in the excel sheet.

Using LEFT, RIGHT, and Instr function, we can extract the substrings. Below is the code to extract the First Name.

Code:

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

Jalankan makro dan lihat nama pertama sebagai substring di kotak mesej.

Gunakan kod di bawah untuk mengekstrak nama belakang sebagai substring.

Kod:

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

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

Saya telah memberikan butang makro ke lembaran kerja, memuat turun buku kerja, dan menggunakannya.

Artikel menarik...