Права функція VBA (приклади) | Покрокове керівництво по Excel VBA Правильно

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

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

ПРАВИЛЬНА функція в Excel VBA, яка використовується для вилучення символів з правого боку поданих текстових значень. У Excel ми маємо багато текстових функцій для роботи з текстовими даними. Деякі з корисних функцій - це функція LEN, LEFT, RIGHT, MID для вилучення символів із текстових значень. Поширеним прикладом використання цих функцій є вилучення імені та прізвища окремо від повного імені.

Правильна формула також є на робочому аркуші. У VBA нам потрібно покладатися на клас функції робочого аркуша, щоб отримати доступ до функції VBA RIGHT, а ми також маємо вбудовану функцію RIGHT у VBA.

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

  • Рядок: Це наше значення, і з цього значення ми намагаємося витягти символи з правого боку рядка.
  • Довжина: Скільки символів нам потрібно з наданого рядка . Якщо нам потрібні чотири символи з правого боку, ми можемо надати аргумент як 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 як рядок k = Right (End Sub 

Крок 3: Перший  аргумент - це рядок, а наш рядок для цього прикладу - “Нью-Йорк”.

Код:

 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 ("Нью-Йорк", 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.