Цей підручник покаже, як використовувати функцію Right VBA для вилучення тексту праворуч.
Права функція
Права функція VBA Останні n символів
Функція VBA Right повертає останні n символів із рядка:
123456 | ПідправоПриклад_1 ()MsgBox справа ("ABCDEFGHI", 4) "Результат:" FGHI "MsgBox справа ("ABCDEFGHI", 2) "Результат:" HI "MsgBox справа ("ABCDEFGHI", 1) 'Результат: "I"MsgBox справа ("ABCDEFGHI", 100) "Результат:" ABCDEFGHI "End Sub |
Права функція VBA Останні n символів у змінній
Як показано вище, ви можете визначити рядок, просто ввівши текст, оточений лапками. Але функція RIGHT також працюватиме зі рядковими змінними. У цих прикладах буде вилучено останні n символів із рядкової змінної.
123456789 | Підправа Приклад_2 ()Dim StrEx As String 'Визначте рядкову зміннуStrEx = "ABCDEFGHI"MsgBox Right (StrEx, 4) 'Результат: "FGHI"MsgBox Right (StrEx, 2) 'Результат: "HI"MsgBox Right (StrEx, 1) 'Результат: "I"MsgBox Right (StrEx, 100) 'Результат: "ABCDEFGHI"End Sub |
Програмування VBA | Генератор коду працює для вас!
Права функція VBA Останні n символів з клітинки
Рядки можна визначити у коді VBA, але також можна використовувати значення з комірок. Прочитайте значення клітинки, збережіть її у рядковій змінній та витягніть останні n символів із цього значення комірки робочого аркуша.
123456789101112 | Підправа Приклад_3 ()Dim StrEx As String 'Визначте рядкову змінну'Прочитайте значення комірки A1 на аркуші аркуша1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A1"). Value'Для цього прикладу значення комірки A1 - "ABCDEFG hI"MsgBox Right (StrEx, 4) 'Результат: "G hI"MsgBox Right (StrEx, 2) 'Результат: "hI"MsgBox Right (StrEx, 1) 'Результат: "I"MsgBox Right (StrEx, 100) 'Результат: "ABCDEFG hI"End Sub |
Права функція VBA Обрізання першого листа
Щоб видалити букви з початку рядка, використовуйте функцію RIGHT разом із функцією LEN.
Функція VBA LEN підраховує кількість символів у рядку:
1 | Лен (StrEx) |
Комбінуючи функції, ми можемо видалити певну кількість символів з початку рядка:
12345678 | ПідправаПриклад_4 ()Dim StrEx As String 'Визначте рядкову зміннуStrEx = "ABCDEF"MsgBox справа (StrEx, Len (StrEx)) 'Результат: "ABCDEF"MsgBox Праворуч (StrEx, Len (StrEx) - 1) 'Результат: "BCDEF"MsgBox Праворуч (StrEx, Len (StrEx) - 2) 'Результат: "CDEF"End Sub |
Право VBA на вилучення тексту після пробілу
Щоб витягнути прізвище з рядка з повним іменем, використовуйте функцію Right разом з Len та Instr.
Функція VBA LEN підраховує кількість символів у рядку:
1 | Лен (StrEx) |
Функція VBA InStr здійснює пошук підрядка всередині рядка та повертає номер позиції підрядка.
1 | InStr (StrEx, "") |
Комбінуючи функції, ми можемо вилучити частину після першого пробілу з фрази:
123456789101112131415 | Підправа Приклад_5 ()Dim StrEx As String 'Визначте рядкову зміннуStrEx = "Люк Скайуокер"MsgBox справа (StrEx, Len (StrEx) - InStr (StrEx, ""))Результат: "Скайуокер"StrEx = "Леонардо да Вінчі"MsgBox справа (StrEx, Len (StrEx) - InStr (StrEx, ""))Результат: "да Вінчі"StrEx = "Нехай сила буде з вами"MsgBox справа (StrEx, Len (StrEx) - InStr (StrEx, ""))Результат: "Сила з вами"End Sub |
Втомилися від пошуку прикладів коду VBA? Спробуйте AutoMacro!
Право VBA на вилучення останнього слова
Щоб витягнути останнє слово з рядка з фразою, використовуйте функцію Right разом з функціями Len та InstrRev.
Як ми бачили вище, функція VBA LEN підраховує кількість символів у рядку:
1 | Лен (StrEx) |
Функція VBA InStrRev шукає підрядок усередині рядка та повертає номер позиції підрядка. Він починає пошук з кінця фрази (справа наліво), але повертає позицію від початку рядка (зліва направо).
1 | InStrRev (StrEx, "") |
Комбінуючи функції, ми можемо вилучити частину після останнього пробілу з фрази:
123456789101112131415 | Підправа Приклад_6 ()Dim StrEx As String 'Визначте рядкову зміннуStrEx = "Люк Скайуокер"MsgBox справа (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Результат: "Скайуокер"StrEx = "Леонардо да Вінчі"MsgBox справа (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Результат: "да Вінчі"StrEx = "Нехай сила буде з вами"MsgBox справа (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Результат: "ти"End Sub |