Правая функция VBA (примеры) | Пошаговое руководство по Excel VBA Right

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

Правая функция такая же, как и в функции рабочего листа, и в VBA, использование этой функции заключается в том, что она дает нам подстроку из заданной строки, но поиск выполняется справа налево от строки, это тип строковой функции в VBA. используется с методом функции application.worksheet.

RIGHT Функция в Excel VBA, которая используется для извлечения символов из правой части предоставленных текстовых значений. В Excel у нас есть много текстовых функций для работы с текстовыми данными. Некоторые из полезных функций: LEN, LEFT, RIGHT, MID для извлечения символов из текстовых значений. Типичный пример использования этих функций - извлечение имени и фамилии отдельно от полного имени.

Формула ПРАВА также присутствует на листе. В VBA нам нужно полагаться на класс функций рабочего листа для доступа к функции VBA RIGHT, а у нас также есть встроенная функция RIGHT в VBA.

Теперь взгляните на приведенный ниже синтаксис формулы VBA RIGHT.

  • Строка: это наше значение, и из этого значения мы пытаемся извлечь символы из правой части строки.
  • Длина: из предоставленной строки, сколько символов нам нужно. Если нам нужно четыре символа с правой стороны, мы можем указать аргумент как 4.

Например, если строка - «Мобильный телефон», и если мы хотим извлечь только слово «Телефон», мы можем предоставить аргумент, как показано ниже.

ВПРАВО («Мобильный телефон», 5)

Причина, по которой я упомянул 5, потому что в слове «Телефон» 5 букв. В следующем разделе статьи мы увидим, как его можно использовать в VBA.

Примеры правой функции Excel VBA

Ниже приведены примеры правой функции VBA Excel.

Вы можете скачать этот шаблон Excel с правой функцией VBA здесь - Шаблон Excel с правой функцией VBA

Пример # 1

Я покажу вам простой пример, чтобы начать расследование. Предположим, у вас есть строка «New York», и если вы хотите извлечь 3 символа справа, выполните следующие шаги, чтобы написать код.

Шаг 1. Объявите переменную как строку VBA.

Код:

 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 («Нью-Йорк», 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, тогда мы получим «York».

Пример # 2

Теперь рассмотрим еще один пример, на этот раз рассмотрим строковое значение как «Майкл Кларк».

Если вы укажете длину, равную 6, в результате мы получим «Кларк».

Код:

 Sub Right_Example1 () Dim k As String k = Right ("Майкл Кларк", 6) MsgBox k End Sub 

Запустите этот код с помощью клавиши F5 или вручную, чтобы увидеть результат.

Функция Dynamic Right в 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.