VBA jobb funkció (példák) | Lépésről lépésre útmutató az Excel VBA joghoz

Jobb funkció a VBA Excel-ben

A Right Function ugyanaz, mint a munkalapfüggvényben és a VBA-ban is, ennek a függvénynek az a használata, hogy megadja nekünk az adott karakterlánc alszövegét, de a keresést a karakterlánc jobbról balra végezzük, ez egyfajta string függvény a VBA-ban application.worksheet függvény módszerrel együtt használják.

JOBB funkció az Excel VBA-ban, amely a karakterek kibontására szolgál a mellékelt szövegértékek jobb oldalán. Az excelben sok szövegfunkcióval rendelkezünk a szöveges adatok kezeléséhez. Néhány hasznos funkció a LEN, LEFT, RIGHT, MID funkció a karakterek kibontásához a szöveges értékekből. E funkciók használatának általános példája az utónév és a vezetéknév különválasztása a teljes névtől.

A RIGHT képlet ott van a munkalapon is. A VBA-ban a munkalap függvényosztályára kell támaszkodnunk a VBA RIGHT funkció eléréséhez, inkább a VBA-ban van beépített RIGHT funkció.

Most nézze meg a VBA RIGHT képlet alábbi szintaxisát.

  • Karakterlánc: Ez az értékünk, és ebből az értékből próbáljuk kivonni a karaktereket a karakterlánc jobb oldaláról.
  • Hossz: A mellékelt karakterláncból hány karakterre van szükségünk. Ha négy karakterre van szükségünk a jobb oldalon, akkor az argumentumot 4-ként adhatjuk meg.

Például, ha a karakterlánc „Mobiltelefon”, és ha csak a „Telefon” szót akarjuk kibontani, akkor megadhatjuk az alábbi argumentumot.

JOBB („Mobiltelefon”, 5)

Az ok, amiért megemlítettem 5-öt, mert a „Telefon” szóban 5 betű van. A cikk következő szakaszában megnézzük, hogyan tudjuk felhasználni a VBA-ban.

Példák az Excel VBA jobb funkciójára

Az alábbiakban a Right Function VBA Excel példái láthatók.

Itt töltheti le ezt a VBA Right Function Excel sablont - VBA Right Function Excel sablont

1. példa

Mutatok egy egyszerű példát az eljárás megkezdésére. Tegyük fel, hogy rendelkezik a „New York” karakterlánccal, és ha 3 karaktert szeretne kibontani jobbról, kövesse az alábbi lépéseket a kód megírásához.

1. lépés: Nyújtsa be a változót VBA karakterláncként.

Kód:

 Sub Right_Példa1 () Dim k As String End Sub 

2. lépés: Most ehhez a változóhoz a RIGHT függvény alkalmazásával rendeljük hozzá az értéket.

Kód:

 Sub Right_Példa1 () Dim k As String k = Right (End Sub 

3. lépés: Az első  argumentum a String, és a példánkhoz tartozó karakterláncunk a „New York”.

Kód:

 Sub Right_Példa1 () Dim k As String k = Right ("New York", Sub Sub vége 

4. lépés: A következő lépés az, hogy hány karakterre van szükségünk a mellékelt karakterláncból. Ebben a példában 3 karakterre van szükségünk.

Kód:

 Sub Right_Példa1 () Dim k As String k = Right ("New York", 3) Sub Sub vége 

5. lépés: Két érvünk van, amelyekkel foglalkoznunk kell, tehát készen vagyunk. Most rendelje hozzá ennek a változónak az értékét a VBA üzenetmezőjében.

Kód:

 Sub Right_Példa1 () Dim k As String k = Right ("New York", 3) MsgBox k End Sub 

Futtassa a kódot az F5 billentyűvel vagy manuálisan, és az eredményt egy üzenetmezőben láthatja.

A „New York” szóban a jobb oldalon 3 karakter „ork”.

Most a hosszt 3-ról 4-re változtatom, hogy megkapjam a teljes értéket.

Kód:

 Sub Right_Példa1 () Dim k As String k = Right ("New York", 4) MsgBox k End Sub 

Futtassa ezt a kódot manuálisan vagy az F5 billentyű használatával, ekkor megkapjuk a „York” szót.

2. példa

Most nézzen meg még egy példát, ezúttal tekintsük a karakterlánc értékét „Michael Clarke” -nak.

Ha a hosszúságot 6-ban adja meg, akkor a „Clarke” -t kapjuk.

Kód:

 Sub Right_Példa1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub 

Futtassa ezt a kódot az F5 billentyűvel vagy manuálisan az eredmény megtekintéséhez.

Dinamikus jobb funkció az Excel VBA-ban

Ha figyelembe vesszük az előző két példánkat, akkor kézzel adtuk meg a hossz argumentumszámokat. De ez nem megfelelő folyamat a munka elvégzéséhez.

In each of the string right-side characters are different in each case. We cannot refer to the length of the characters manually for each value differently. This where the other string function “Instr” plays a vital role.

Instr function returns the supplied character position in the supplied string value. For example, Instr (1,” Bangalore”,”a”) return the position of the letter “a” in the string “Bangalore” from the first (1) character.

In this case, the result is 2 because from the first character position of the letter “a” is the 2nd position.

If I change the starting position from 1 to 3 it will return 5.

Instr (3,” Bangalore”,”a”).

The reason why it returns 5 because I mentioned the starting position to look for the letter “a” only from the 3rd letter. So the position of the second appeared “a” is 5.

So, to find the space character of the of each string we can use this. Once we find the space character position we need to minus that from a total length of the string by using LEN.

For example in the string “New York” the total number of characters is 8 including space, and the position of the space character is 4th. So 8-4 = 4 right will extract 4 characters from the right.

Now, look at the below code for your reference.

Code:

 Sub Right_Example3() Dim k As String Dim L As String Dim S As String L = Len("Michael Clarke") S = InStr(1, "Michael Clarke", " ") k = Right("Michael Clarke", L - S) MsgBox k End Sub 

In the above code variable “L” will return 14 and variable “S” will return 8.

In the VBA right formula, I have applied L – S i.e. 14-8 = 6. So from right side 6 characters i.e. “Clarke”.

Loops with Right Function in Excel VBA

When we need to apply the VBA RIGHT function with many cells we need to include this inside the loops. For example, look at the below image.

We cannot apply many lines of the code to extract a string from the right side. So we need to include loops. The below code will do it for the above data.

Code:

 Sub Right_Example4() Dim k As String Dim L As String Dim S As String Dim a As Integer For a = 2 To 5 L = Len(Cells(a, 1).Value) S = InStr(1, Cells(a, 1).Value, " ") Cells(a, 2).Value = Right(Cells(a, 1), L - S) Next a End Sub 

The result of this code is as follows.