Funcția dreaptă VBA (Exemple) - Ghid pas cu pas pentru Excel VBA dreapta

Funcția corectă în VBA Excel

Funcția dreaptă este aceeași ca și în funcția de foaie de lucru și VBA, utilizarea acestei funcții este că ne oferă șirul dintr-un șir dat, dar căutarea se face de la dreapta la stânga șirului, acesta este un tip de funcție șir în VBA utilizat cu metoda funcției application.sheet.

Funcția DREAPTA în Excel VBA este utilizată pentru a extrage caractere din partea dreaptă a valorilor textului furnizat. În Excel, avem multe funcții text pentru a face față datelor bazate pe text. Unele dintre funcțiile utile sunt funcțiile LEN, STÂNGA, DREPT, MID pentru a extrage caractere din valorile textului. Exemplul obișnuit de utilizare a acestor funcții este extragerea prenumelui și prenumelui separat de numele complet.

Formula DREAPTA este, de asemenea, acolo în foaia de lucru. În VBA, trebuie să ne bazăm pe clasa funcției foii de lucru pentru a accesa funcția VBA RIGHT; mai degrabă, avem funcția RIGHT încorporată și în VBA.

Acum aruncați o privire la sintaxa de mai jos a formulei VBA RIGHT.

  • Șir: Aceasta este valoarea noastră și, din această valoare, încercăm să extragem caracterele din partea dreaptă a șirului.
  • Lungime: din șirul furnizat , de câte caractere avem nevoie. Dacă avem nevoie de patru caractere din partea dreaptă, putem furniza argumentul ca 4.

De exemplu, dacă șirul este „Telefon mobil” și dacă dorim să extragem doar cuvântul „Telefon”, putem furniza argumentul ca cel de mai jos.

DREAPTA („Telefon mobil”, 5)

Motivul pentru care am menționat 5, deoarece cuvântul „Telefon” conține 5 litere. În următoarea secțiune a articolului, vom vedea cum o putem folosi în VBA.

Exemple de funcție dreaptă Excel VBA

Următoarele sunt exemple de Funcție dreaptă VBA Excel.

Exemplul nr. 1

Vă voi arăta un exemplu simplu pentru a începe procesul. Să presupunem că aveți șirul „New York” și, dacă doriți să extrageți 3 caractere din dreapta, urmați pașii de mai jos pentru a scrie codul.

Pasul 1: declarați variabila ca șir VBA.

Cod:

Sub Right_Example1 () Dim k As String End Sub

Pasul 2: Acum, pentru această variabilă, vom atribui valoarea aplicând funcția DREAPTA.

Cod:

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

Pasul 3: primul argument este String, iar șirul nostru pentru acest exemplu este „New York”.

Cod:

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

Pasul 4: Următorul este de câte caractere avem nevoie din șirul furnizat. În acest exemplu, avem nevoie de 3 caractere.

Cod:

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

Pasul 5: avem 2 argumente de rezolvat, așa că am terminat. Acum atribuiți valoarea acestei variabile în caseta de mesaj din VBA.

Cod:

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

Rulați codul folosind tasta F5 sau manual și vedeți rezultatul într-o casetă de mesaje.

În cuvântul „New York” din partea dreaptă, 3 caractere sunt „ork”.

Acum voi schimba lungimea de la 3 la 4 pentru a obține valoarea completă.

Cod:

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

Rulați acest cod manual sau utilizând tasta F5. Apoi, vom obține „York”.

Exemplul nr. 2

Acum aruncați o privire la încă un exemplu, de data aceasta considerați valoarea șirului ca „Michael Clarke”.

Dacă furnizați lungimea de 6, vom obține „Clarke” ca rezultat.

Cod:

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

Rulați acest cod folosind tasta F5 sau manual pentru a vedea rezultatul.

Funcție dinamică dreaptă în 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 dreapta_Exemplu4 () 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, "") Celule (a, 2) .Value = Dreapta (Celule (a, 1), L - S) Următorul un Sub Sub

Rezultatul acestui cod este următorul.

Articole interesante...