VBA ispravna funkcija (primjeri) | Korak po korak Vodič za Excel VBA Tačno

Prava funkcija u VBA Excelu

Desna funkcija je ista kao i u funkciji radnog lista i u VBA, upotreba ove funkcije je u tome što nam daje podniz iz određenog niza, ali pretraživanje se vrši zdesna ulijevo od niza, ovo je vrsta funkcije niza u VBA koristi se s aplikacijom. metoda funkcije radnog lista.

DESNA funkcija u programu Excel VBA koja se koristi za izdvajanje znakova s ​​desne strane isporučenih vrijednosti teksta. U Excelu imamo mnogo tekstualnih funkcija za obradu podataka temeljenih na tekstu. Neke od korisnih funkcija su LEN, LEFT, RIGHT, MID funkcija za izdvajanje znakova iz tekstualnih vrijednosti. Uobičajeni primjer korištenja ovih funkcija je izdvajanje imena i prezimena odvojeno od punog imena.

PRAVA formula nalazi se i na radnom listu. U VBA se moramo osloniti na klasu funkcija radnog lista za pristup funkciji VBA RIGHT, umjesto da imamo ugrađenu RIGHT funkciju i u VBA.

Sada pogledajte donju sintaksu formule VBA RIGHT.

  • Niz: Ovo je naša vrijednost i iz te vrijednosti pokušavamo izvući znakove s desne strane niza.
  • Duljina: iz isporučenog niza koliko nam znakova treba. Ako su nam potrebna četiri znaka s desne strane, argument možemo navesti kao 4.

Na primjer, ako je niz "Mobilni telefon" i ako želimo izdvojiti samo riječ "Telefon", možemo navesti argument kao u nastavku.

DESNO ("Mobitel", 5)

Razlog zašto sam spomenuo 5 jer riječ "Telefon" sadrži 5 slova. U sljedećem odjeljku članka vidjet ćemo kako ga možemo koristiti u VBA.

Primjeri Excel VBA ispravne funkcije

Slijede primjeri ispravne funkcije VBA Excel.

Ovdje možete preuzeti ovaj predložak VBA ispravne funkcije Excel - VBA predložak ispravne funkcije Excel

Primjer # 1

Pokazat ću vam jednostavan primjer za pokretanje postupka. Pretpostavimo da imate niz "New York" i ako želite izdvojiti 3 znaka s desne strane, slijedite korake u nastavku za pisanje koda.

Korak 1: Proglasite varijablu kao VBA niz.

Kodirati:

 Sub Right_Example1 () Dim k As String End Sub 

Korak 2: Sada ćemo za ovu varijablu dodijeliti vrijednost primjenom funkcije DESNO.

Kodirati:

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

Korak 3: Prvi  argument je String, a naš niz za ovaj primjer je "New York".

Kodirati:

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

Korak 4: Slijedi koliko nam znakova treba iz isporučenog niza. U ovom primjeru trebaju nam 3 znaka.

Kodirati:

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

Korak 5: Moramo riješiti 2 argumenta, pa smo gotovi. Sada dodijelite vrijednost ove varijable u okviru za poruke u VBA.

Kodirati:

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

Pokrenite kôd pomoću tipke F5 ili ručno i pogledajte rezultat u okviru za poruku.

U riječi "New York" s desne strane 3 znaka su "ork".

Sada ću promijeniti duljinu s 3 na 4 da bih dobio punu vrijednost.

Kodirati:

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

Pokrenite ovaj kod ručno ili pomoću tipke F5, dobit ćemo "York".

Primjer # 2

Sada pogledajte još jedan primjer, ovaj put vrijednost niza razmotrite kao "Michael Clarke".

Ako navedete dužinu kao 6, kao rezultat dobit ćemo "Clarke".

Kodirati:

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

Pokrenite ovaj kod pomoću tipke F5 ili ručno da biste vidjeli rezultat.

Dinamička ispravna funkcija u programu Excel VBA

Ako promatrate naša prethodna dva primjera, ručno smo naveli brojeve argumenata dužine. Ali ovo nije pravi postupak za obavljanje posla.

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.