Правилна функция на VBA (примери) | Стъпка по стъпка Ръководство за Excel VBA Право

Правилна функция в VBA Excel

Дясната функция е същата както във функцията на работния лист, така и във VBA, използването на тази функция е, че ни дава подниза от даден низ, но търсенето се извършва отдясно наляво на низа, това е тип низ функция във VBA използва се с метода на функцията application.worksheet.

НАДЯСНО Функция в Excel VBA, която се използва за извличане на символи от дясната страна на предоставените текстови стойности. В Excel има много текстови функции за работа с текстово базирани данни. Някои от полезните функции са LEN, LEFT, RIGHT, MID функция за извличане на символи от текстовите стойности. Често срещаният пример за използване на тези функции е извличането на собственото име и фамилното име отделно от пълното име.

Формулата НАДЯСНО също е там в работния лист. Във VBA трябва да разчитаме на класа на работния лист за достъп до функцията VBA RIGHT, а имаме вградена функция RIGHT и във VBA.

Сега разгледайте синтаксиса по-долу на формулата VBA RIGHT.

  • String: Това е нашата стойност и от тази стойност се опитваме да извлечем символите от дясната страна на низа.
  • Дължина: От предоставения низ колко символа ни трябват. Ако се нуждаем от четири знака от дясната страна, можем да предоставим аргумента като 4.

Например, ако низът е „Мобилен телефон“ и ако искаме да извлечем само думата „Телефон“, можем да предоставим аргумента като по-долу.

НАДЯСНО („Мобилен телефон“, 5)

Причината, поради която споменах 5, защото думата „Телефон“ има 5 букви в себе си. В следващия раздел на статията ще видим как можем да го използваме във VBA.

Примери за правилната функция на Excel VBA

По-долу са примерите за VBA Excel с правилна функция.

Можете да изтеглите този шаблон на VBA с правилна функция Excel тук - VBA с правилна функция на шаблона на Excel

Пример # 1

Ще ви покажа един прост пример за започване на производството. Да предположим, че имате низ „Ню Йорк“ и ако искате да извлечете 3 знака отдясно, следвайте стъпките по-долу, за да напишете кода.

Стъпка 1: Декларирайте променливата като VBA String.

Код:

 Sub Right_Example1 () Dim k As String End Sub 

Стъпка 2: Сега за тази променлива ще присвоим стойността, като приложим функцията НАДЯСНО.

Код:

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

Стъпка 3: Първият  аргумент е String, а нашият низ за този пример е „New York“.

Код:

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

Стъпка 4: Следва колко символа се нуждаем от предоставения низ. В този пример се нуждаем от 3 знака.

Код:

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

Стъпка 5: Имаме 2 аргумента, с които да се справим, така че сме готови. Сега задайте стойността на тази променлива в полето за съобщения във VBA.

Код:

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

Стартирайте кода с помощта на клавиша F5 или ръчно и вижте резултата в полето за съобщение.

В думата „Ню Йорк“ от дясната страна 3 знака са „орк“.

Сега ще променя дължината от 3 на 4, за да получа пълната стойност.

Код:

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

Изпълнете този код ръчно или използвайки клавиша F5, тогава ще получим „Йорк“.

Пример # 2

Сега разгледайте още един пример, този път разгледайте стойността на низа като „Майкъл Кларк“.

Ако посочите дължината като 6, ще получим „Clarke“ като резултат.

Код:

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

Изпълнете този код с помощта на клавиша F5 или ръчно, за да видите резултата.

Динамична дясна функция в Excel VBA

Ако наблюдавате нашите предишни два примера, ние сме предоставили ръчно аргументите за дължина. Но това не е правилният процес за свършване на работата.

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.