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 care 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, DREAPTA, 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 de funcții a 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ă vrem 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.
Puteți descărca acest șablon Excel pentru funcția dreaptă VBA aici - Șablon Excel pentru funcția dreaptă VBA
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 prin aplicarea funcției DREAPTA.
Cod:
Sub Right_Example1 () Dim k As String k = Right (End Sub
Pasul 3: Primul argument este Șir și ș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, atunci vom primi „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 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
Dacă observați cele două exemple anterioare, am furnizat manual argumentele de lungime. Dar acesta nu este procesul potrivit pentru a face treaba.
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.