Podniza VBA - Kako izvleči podniz z uporabo funkcij VBA?

Podniza Excel VBA

SubString je del niza ali dela ali pa se znak niza imenuje »SubString«. V VBA LEFT, RIGHT in MID obstajajo tri vrste funkcij podnizov, ki so podobne podnizom delovnega lista v Excelu.

Niz ni nič drugega kot niz znakov, znaki pa so lahko abecede, številke, posebni znaki in lahko vse to kombinirajo.

Pogosto v Excelu, ko delamo s podatki, to je niz, moramo dobiti le del niza, da olajšamo svoj namen. Mogoče ne bomo potrebovali celotnega niza, vendar za svojo uporabo potrebujemo le del niza. Če imate na primer ime »Sachin Tendulkar«, boste morda potrebovali samo prvi del imena, tj. Samo »Sachin«. Temu se v Excelu VBA reče SubString niza. Za obravnavo teh nizov imamo vgrajene funkcije pod funkcijo TEXT v kategoriji excel.

V tem članku bomo razpravljali o tem, kako pridobiti podniz iz celotnega niza v VBA.

Kako uporabiti funkcije podnizov v VBA?

Če želimo izvleči podniz iz niza, imamo vgrajene funkcije besedila, nekatere pomembne funkcije pa so LEVO, DESNO, INSTR in MID v excelu. Funkcija Instr bo služila kot podporna funkcija za ostale tri funkcije.

Videli bomo, kako uporabiti te funkcije za praktično ekstrakcijo podnizov. Za njihovo razumevanje preberite spodnje primere.

Primer # 1 - Uporaba funkcije levo

Če imate polno ime kot "Sachin Tendulkar" in potrebujete samo prvo ime, da ga izvlečete kot podniz, uporabite naslednjo kodo, da dobite isto.

1. korak: Ustvarite ime makra in določite dve spremenljivki kot String.

Koda:

Sub SubString_Example1 () Dim FullName As String Dim FirstName Kot String End Sub

2. korak: Zdaj spremenljivki FullName dodelite ime »Sachin Tendulkar« .

Koda:

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

3. korak: Spremenljivka FullName vsebuje vrednost "Sachin Tendulkar." Zdaj moramo iz polnega imena izvleči podniz niza excel VBA. Torej, dodelite vrednost spremenljivki FirstName s funkcijo LEFT.

Koda:

Sub SubString_Example1 () Zatemni polno ime kot niz Zatemni ime kot niz FullName = "Sachin Tendulkar" FirstName = levo (konec sub

4. korak: Prvi argument funkcije VBA LEFT je niz; to je tisto, kar je polna vrednost ali polni niz. V tem primeru je naša polna vrednost ali niz »Sachin Tendulkar«, ki je dodeljena spremenljivki FullName.

Kot argument navedite spremenljivko FullName .

Koda:

Sub SubString_Example1 () Dim FullName kot niz Dim FirstName Kot niz FullName = "Sachin Tendulkar" FirstName = Levi konec Sub

5. korak: Naslednji argument je, koliko znakov potrebujemo iz niza, ki smo ga vnesli, zato v tem primeru potrebujemo ime " Sachin ", tako da potrebujemo 6 znakov z leve strani.

Koda:

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

6. korak: Zdaj rezultat prikažite v polju za sporočila v VBA.

Koda:

Sub SubString_Example1 () Zatemni polno ime kot niz Zatemni ime kot niz FullName = "Sachin Tendulkar" FirstName = levo (polno ime, 6) MsgBox FirstName End Sub

7. korak: Zaženite makro in v polju za sporočila ime glejte kot podniz.

2. primer - Pridobite SubString z desne

Tako kot smo podobno izvlekli podniz iz leve, lahko tudi iz desne. Za primer vzemimo isto ime.

1. korak: Dve spremenljivki definirajte kot niz.

Koda:

Sub SubString_Example2 () Dim FullName As String Dim FullName Kot String End Sub

2. korak: Kot običajno spremenljivki FullName dodelite vrednost kot »Sachin Tendulkar«.

Koda:

Sub SubString_Example2 () Zatemni polno ime kot niz Zatemni priimek kot niz Polno ime = "Sachin Tendulkar" Konec

3. korak: Zdaj spremenljivki Priimek dodelite vrednost s pomočjo funkcije RIGHT excel.

Koda:

Sub SubString_Example2 () Zatemni polno ime kot niz Zatemni priimek kot niz Polno ime = "Sachin Tendulkar" priimek = desno (končni podimek

4. korak: String je naše polno ime, zato vnesite spremenljivko.

Koda:

Sub SubString_Example2 () Zatemni polno ime kot niz Zatemni priimek kot niz polno ime = "Sachin Tendulkar" priimek = desno (polno ime, končni podimek

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 = Celice (Vrstice. Število, 1). Konec (xIUp). Vrstica K = 2 V LR Celice (K, 2). Vrednost = Levo (Celice (K, 1) .Value, InStr (1, Celice (K, 1) .Value, "") - 1) Next K End Sub

Zaženite makro in v polju za sporočila si oglejte ime kot podniz.

Uporabite spodnjo kodo, da izvlečete priimek kot podniz.

Koda:

Sub LastName () Dim K As Long Dim LR As Long LR = Celice (Vrstice. Število, 1). Konec (xIUp). Vrstica K = 2 V LR Celice (K, 3). Vrednost = Desno (Celice (K, 1) .Value, Len (Celice (K, 1)) - InStr (1, Celice (K, 1) .Value, "")) Next K End Sub

Zaženite makro in v oknu za sporočilo bomo videli priimek.

Gumb za makro sem dodal na delovni list, prenesem delovni zvezek in jih uporabim.

Zanimive Članki...