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 s desne na lijevu stranu niza, ovo je vrsta funkcije niza u VBA koristi se s aplikacijom. metoda funkcije radnog lista.

DESNA Funkcija u programu Excel VBA koristi se 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 za pristup funkciji VBA RIGHT moramo osloniti na klasu funkcija radnog lista; nego imamo ugrađenu funkciju DESNO 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: koliko nam je znakova potrebno iz isporučenog niza . 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 VBA Excel ispravne funkcije.

Primjer # 1

Pokazat ću vam jednostavan primjer za pokretanje postupka. Pretpostavimo da imate niz "New York", a 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. Tada ćemo dobiti "York".

Primjer # 2

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

Ako navedete duljinu 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

If you observe our previous two examples, we have supplied the length argument numbers manually. But this is not the right process to do the job.

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”) returns 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 each string, we can use this. Once we find the space character position, we need to minus that from the 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 the 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 St Dim a As Integer For a = 2 To 5 L = Len (Cells (a, 1) .Value) S = InStr (1, Cells (a, 1 ) .Vrijednost, "") Ćelije (a, 2) .Vrijednost = Desno (Ćelije (a, 1), L - S) Slijedi krajnji potpodručje

Rezultat ovog koda je sljedeći.

Zanimljivi članci...