VBA höger funktion

Rätt funktion i VBA Excel

Högerfunktion är densamma som i både kalkylfunktionen och VBA, användningen av den här funktionen är att den ger oss strängen från en given sträng men sökningen görs från höger till vänster om strängen, detta är en typ av strängfunktion i VBA används med application.worksheet funktionsmetod.

RIGHT-funktion i Excel VBA som används för att extrahera tecken från höger sida av de medföljande textvärdena. I Excel har vi många textfunktioner för att hantera textbaserad data. Några av de användbara funktionerna är LEN, VÄNSTER, HÖGER, MID-funktionen för att extrahera tecken från textvärdena. Det vanliga exemplet med att använda dessa funktioner är att extrahera förnamn och efternamn separat från hela namnet.

Rätt formel finns också i kalkylbladet. I VBA måste vi förlita oss på kalkylbladets funktionsklass för att komma åt VBA RIGHT-funktionen snarare har vi också den inbyggda RIGHT-funktionen i VBA.

Ta nu en titt på nedanstående syntax för VBA RIGHT-formeln.

  • Sträng: Detta är vårt värde och från detta värde försöker vi extrahera tecknen från strängens högra sida.
  • Längd: Från den medföljande strängen hur många tecken vi behöver. Om vi ​​behöver fyra tecken från höger sida kan vi ange argumentet som 4.

Om strängen till exempel är "Mobiltelefon" och om vi bara vill extrahera ordet "Telefon" kan vi ange argumentet enligt nedan.

HÖGER (“Mobiltelefon”, 5)

Anledningen till att jag nämnde 5 eftersom ordet "Telefon" har 5 bokstäver i sig. I nästa avsnitt av artikeln kommer vi att se hur vi kan använda den i VBA.

Exempel på Excel VBA Right-funktion

Följande är exempel på Right Function VBA Excel.

Du kan ladda ner denna Excel-mall för höger funktion VBA här - VBA höger funktion Excel-mall

Exempel nr 1

Jag visar ett enkelt exempel för att inleda förfarandet. Antag att du har strängen "New York" och om du vill extrahera 3 tecken från höger, följ stegen nedan för att skriva koden.

Steg 1: Förklara variabeln som VBA-sträng.

Koda:

 Sub Right_Example1 () Dim k Som strängslut Sub 

Steg 2: Nu för denna variabel tilldelar vi värdet genom att tillämpa RIGHT-funktionen.

Koda:

 Sub Right_Example1 () Dim k As String k = Right (End Sub 

Steg 3: Det första  argumentet är String och vår sträng för detta exempel är "New York".

Koda:

 Sub Right_Example1 () Dim k As String k = Right ("New York", End Sub 

Steg 4: Nästa är hur många tecken vi behöver från den medföljande strängen. I det här exemplet behöver vi tre tecken.

Koda:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 3) End Sub 

Steg 5: Vi har två argument att hantera, så vi är klara. Tilldela nu värdet på denna variabel i meddelandefältet i VBA.

Koda:

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

Kör koden med F5-tangenten eller manuellt och se resultatet i en meddelandefält.

I ordet "New York" från höger sida är 3 tecken "ork".

Nu kommer jag att ändra längden från 3 till 4 för att få fullt värde.

Koda:

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

Kör den här koden manuellt eller med F5-tangenten, då får vi "York".

Exempel 2

Titta nu på ytterligare ett exempel, den här gången betraktar du strängvärdet som "Michael Clarke".

Om du anger längden 6 får vi "Clarke" som resultat.

Koda:

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

Kör den här koden med F5-tangenten eller manuellt för att se resultatet.

Dynamisk högerfunktion i Excel VBA

Om du följer våra tidigare två exempel har vi angett längdargumentnumren manuellt. Men det här är inte rätt process för att göra jobbet.

I var och en av strängarna är tecken på höger sida olika i varje fall. Vi kan inte hänvisa till teckenlängden manuellt för varje värde på olika sätt. Här spelar den andra strängfunktionen "Instr" en viktig roll.

Instr- funktionen returnerar den angivna teckenpositionen i det angivna strängvärdet. Till exempel returnerar Instr (1, ”Bangalore”, ”a”) positionen för bokstaven “a” i strängen “Bangalore” från det första (1) tecknet.

I det här fallet är resultatet 2, för från första bokstävernas position är bokstaven "a" den andra positionen.

Om jag ändrar startpositionen från 1 till 3 kommer den tillbaka 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.