VBA podniz - Kako izdvojiti podniz koristeći VBA funkcije?

Excel VBA podniz

SubString je dio niza ili dijela ili se znak niza naziva "SubString". Postoje tri vrste funkcija podniza u VBA LIJEVO, DESNO i SREDINO, slične su podnizima radnog lista u Excelu.

Niz nije ništa drugo do niz znakova, a znakovi mogu biti abeceda, brojevi, posebni znakovi, a također mogu kombinirati sve to.

Često puta u Excelu, kada radimo s podacima, a to je niz, trebamo dobiti samo dio niza kako bismo olakšali svoju svrhu. Možda nam neće trebati puni niz za upotrebu, ali za našu upotrebu potreban nam je samo dio niza. Na primjer, ako imate ime "Sachin Tendulkar", možda će vam trebati samo prvi dio imena, tj. Samo "Sachin". To se naziva podnizom niza u programu Excel VBA. Da bismo se pozabavili tim nizovima, imamo ugrađene funkcije u okviru funkcije TEKST u kategoriji excel.

U ovom ćemo članku razgovarati o tome kako dobiti podniz iz cijelog niza u VBA-u.

Kako koristiti funkcije podniza u VBA?

Da bismo izdvojili podniz iz niza, imamo neke ugrađene funkcije teksta, a neke od važnih funkcija su LIJEVO, DESNO, INSTR i MID u excelu. Funkcija Instr poslužit će kao pomoćna funkcija za ostale tri funkcije.

Vidjet ćemo kako koristiti ove funkcije za praktično izdvajanje podnizova. Pročitajte primjere u nastavku da biste ih razumjeli.

Primjer # 1 - Korištenje lijeve funkcije

Ako imate puno ime kao “Sachin Tendulkar” i trebate izdvojiti samo prvo ime kao podniz, upotrijebite sljedeći kod da biste ga dobili.

Korak 1: Stvorite ime makronaredbe i definirajte dvije varijable kao String.

Kodirati:

Sub SubString_Example1 () Priguši puno ime kao niz Zatamni prvo ime kao završetak niza

Korak 2: Sada dodijelite naziv "Sachin Tendulkar" varijabli FullName .

Kodirati:

Sub SubString_Example1 () Priguši puno ime kao niz Zatamni ime kao niz FullName = "Sachin Tendulkar" Kraj pod

Korak 3: Sada, varijabla FullName sadrži vrijednost "Sachin Tendulkar." Sada Moramo izvući excel VBA podniz niza imena iz punog imena. Dakle, dodijelite vrijednost za varijablu FirstName putem funkcije LIJEVO.

Kodirati:

Sub SubString_Example1 () Priguši puno ime kao niz Zatamni prvo ime kao niz FullName = "Sachin Tendulkar" FirstName = lijevo (krajnji sub

Korak 4: Prvi argument funkcije VBA LIJEVO je String; to je ono što je puna vrijednost ili puni niz. U ovom primjeru, naša puna vrijednost ili niz je "Sachin Tendulkar", koji je dodijeljen varijabli FullName.

Dakle, kao argument navedite varijablu FullName .

Kodirati:

Sub SubString_Example1 () Priguši puno ime kao niz Zatamni ime kao niz FullName = "Sachin Tendulkar" FirstName = lijevi kraj Sub

Korak 5: Sljedeći argument je koliko znakova trebamo iz niza koji smo unijeli, tako da u ovom slučaju trebamo ime " Sachin ", tako da nam treba 6 znakova s lijeve strane.

Kodirati:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Lijevo (FullName, 6) Kraj Sub

Korak 6: Sada rezultat prikažite u okviru za poruke u VBA.

Kodirati:

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

Korak 7: Pokrenite makronaredbu da biste prvo ime vidjeli kao podniz u okviru za poruke.

Primjer # 2 - Nabavite SubString zdesna

Kao što smo na sličan način izdvojili podniz s lijeve strane, možemo izdvojiti i s desne. Uzmimo za primjer isto ime.

Korak 1: Definirajte dvije varijable kao String.

Kodirati:

Sub SubString_Example2 () Priguši puno ime kao niz Zatamni prezime kao niz kraj Kraj

Korak 2: Kao i obično, varijabli FullName dodijelite vrijednost kao "Sachin Tendulkar".

Kodirati:

Sub SubString_Example2 () Priguši puno ime kao niz Zatamni prezime kao niz FullName = "Sachin Tendulkar" Kraj pod

Korak 3: Sada, za varijablu Prezime, dodijelite vrijednost kroz RIGHT excel funkciju.

Kodirati:

Sub SubString_Example2 () Priguši puno ime kao niz Zatamni prezime kao niz FullName = "Sachin Tendulkar" Prezime = desno (krajnji sub

Korak 4: String je naše puno ime , zato navedite varijablu.

Kodirati:

Sub SubString_Example2 () Priguši puno ime kao niz Zatamni prezime kao niz FullName = "Sachin Tendulkar" Prezime = desno (Puno ime, krajnji pod

Korak 5: Duljina je koliko znakova trebamo s desne strane. Treba nam 9 znakova s desne strane.

Kodirati:

Sub SubString_Example2 () Priguši puno ime kao niz Zatamni prezime kao niz FullName = "Sachin Tendulkar" Prezime = desno (puno ime, 9) Kraj pod

Korak 6: Prikažite ovu vrijednost u okviru za poruku .

Kodirati:

Sub SubString_Example2 () Priguši puno ime kao niz Zatamni prezime kao niz FullName = "Sachin Tendulkar" Prezime = desno (Puno ime, 9) MsgBox KrajName Kraj

Korak 7: Pokrenite makronaredbu. Vidjet ćemo prezime u okviru s porukom.

Primjer # 3 - Korištenje Instr funkcije

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 = Stanice (Redovi.broj, 1). Kraj (xIUp). Red za K = 2 Do LR Stanice (K, 2) .Vrijednost = Lijevo (Stanice (K, 1) .Value, InStr (1, Ćelije (K, 1) .Vrijednost, "") - 1) Sljedeći K Kraj Sub

Pokrenite makronaredbu i vidite prvo ime kao podniz u okviru za poruke.

Koristite donji kod za izdvajanje prezimena kao podniza.

Kodirati:

Sub LastName () Dim K as Long Dim LR As Long LR = Stanice (retci.broj, 1). Kraj (xIUp). Red za K = 2 do LR ćelija (K, 3). Vrijednost = Desno (Stanice (K, 1) .Vrijednost, Len (ćelije (K, 1)) - InStr (1, ćelije (K, 1) .Vrijednost, "")) Sljedeća K Kraj Sub

Pokrenite makronaredbu i vidjet ćemo prezime u okviru s porukom.

Gumb makronaredbe dodijelio sam radnom listu, preuzmem radnu knjigu i koristim ih.

Zanimljivi članci...