VBA SubString - Hogyan lehet kibontani az alstruktúrát a VBA függvények használatával?

Tartalomjegyzék

Excel VBA SubString

Az SubString a karaktersorozat vagy rész része, vagy a karakterlánc karakterét „SubString” -nek hívják. A VBA LEFT, RIGHT és MID háromféle alstringfüggvény létezik, ezek hasonlítanak az excel munkalap alstringjeihez.

A karakterlánc nem más, mint egy karaktersorozat, és a karakterek lehetnek ábécé, számok, speciális karakterek, és ezeket is kombinálhatják.

Gyakran előfordul, hogy az excelben, amikor az adatokkal dolgozunk, amelyek a karakterláncok, célunk megkönnyítése érdekében csak a karakterlánc egy részét kell megszereznünk. Lehet, hogy nincs szükségünk a teljes karakterlánc használatára, de csak a karakterláncra van szükségünk a használatunkhoz. Például, ha a „Sachin Tendulkar” nevet viseli, akkor előfordulhat, hogy csak a név első részére van szüksége, azaz csak a „Sachin” névre. Ezt hívjuk a karakterlánc SubStringjének az Excel VBA-ban. Ezeknek a karakterláncoknak a kezeléséhez beépített funkcióink vannak a TEXT függvény alatt az excel kategóriában.

Ebben a cikkben megvitatjuk, hogyan szerezhetjük meg a részláncokat a teljes sztringből a VBA-ban.

Hogyan használjuk az SubString függvényeket a VBA-ban?

Az alszöveg kibontásához a karaktersorozatból van néhány beépített szövegfüggvény, és néhány fontos funkció a LEFT, RIGHT, INSTR és MID in excel. Az Instr funkció a másik három funkció támogató funkciójaként szolgál.

Meglátjuk, hogyan lehet ezeket a függvényeket kihasználni az alszövegek gyakorlati kivonására. Olvassa el az alábbi példákat, hogy megértse őket.

1. példa - A bal funkció használata

Ha a teljes neve „Sachin Tendulkar”, és csak az előnevet kell kibontani alszövegként, használja a következő kódot, hogy azonos legyen.

1. lépés: Hozzon létre egy makrónevet, és két változót határozzon meg Stringként.

Kód:

Sub SubString_Example1 () Dim FullName mint karakterlánc Dim FirstName as karakterlánc vége Sub

2. lépés: Most rendelje hozzá a „Sachin Tendulkar” nevet a FullName változóhoz .

Kód:

Sub SubString_Example1 () Dim FullName mint karakterlánc Dim FirstName as karakterlánc FullName = "Sachin Tendulkar" End Sub

3. lépés: Most a FullName változó tartja a „Sachin Tendulkar” értékét. Most ki kell bontanunk a keresztnév excel VBA alszövegét a teljes névből. Tehát rendelje hozzá a FirstName változó értékét a LEFT függvényen keresztül.

Kód:

Sub SubString_Example1 () Dim FullName mint karakterlánc Dim FirstName as karakterlánc FullName = "Sachin Tendulkar" FirstName = Bal (End Sub

4. lépés: A VBA LEFT függvény első argumentuma a String; ez az a teljes érték vagy a teljes karakterlánc. Ebben a példában teljes értékünk vagy karakterláncunk a „Sachin Tendulkar”, amely a FullName változóhoz van hozzárendelve .

Tehát a FullName változót adja meg argumentumként.

Kód:

Sub SubString_Example1 () Dim FullName mint karakterlánc Dim FirstName as karakterlánc FullName = "Sachin Tendulkar" FirstName = Bal oldali alrész

5. lépés: A következő érv az, hogy hány karakterre van szükségünk a megadott karaktersorozatból, ezért ebben az esetben a „ Sachin ” keresztnévre van szükségünk, így balra 6 karakterre van szükségünk .

Kód:

Sub SubString_Example1 () Dim FullName mint karakterlánc Dim DimNév As String FullName = "Sachin Tendulkar" FirstName = Bal (FullName, 6) End Sub

6. lépés: Most mutassa meg az eredményt egy üzenetmezőben a VBA-ban.

Kód:

Sub SubString_Example1 () Dim FullName mint karakterlánc Dim FirstName as karakterlánc FullName = "Sachin Tendulkar" FirstName = Bal (FullName, 6) MsgBox FirstName End Sub

7. lépés: Futtassa a makrót, és nézze meg a keresztnevet alszövegként az üzenet mezőben.

2. példa - Szerezzen SubStringet jobbról

Hasonlóan ahhoz, ahogyan hasonlóan kivontuk az alszöveget a bal oldalról, a jobb oldalról is. Vegyük példának ugyanazt a nevet.

1. lépés: definiáljon két változót karakterláncként.

Kód:

Sub SubString_Example2 () Dim FullName mint karakterlánc Dim DimNév As 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 = Cellák (Rows.Count, 1). Vége (xIUp). K = 2-es sor LR cellákra (K, 2). Érték = Bal (Cells (K, 1). Érték, InStr (1, cellák (K, 1). Érték, "") - 1) Következő K vége al

Futtassa a makrót, és tekintse meg az utónevet alsorként az üzenetmezőben.

Használja az alábbi kódot a vezetéknév részstruktúraként való kibontásához.

Kód:

Sub LastName () Dim K As Long Dim LR As Long LR = Cells (Rows.Count, 1). Vége (xIUp). K = 2-es sor LR cellákra (K, 3). Érték = jobb (Cells (K, 1). Érték, Len (Cellák (K, 1)) - InStr (1, Cellák (K, 1). Érték, "")) Következő K Vége Al

Futtassa a makrót, és látni fogjuk a vezetéknevet az üzenetmezőben.

A makrógombot hozzárendeltem a munkalaphoz, letöltöttem és felhasználom a munkafüzetet.

érdekes cikkek...