В этом руководстве будет показано, как использовать функцию Right VBA для извлечения текста справа.
Правая функция
VBA Правая функция Последние n символов
Функция VBA Right возвращает последние n символов из строки:
123456 | Sub RightExample_1 ()MsgBox Right ("ABCDEFGHI", 4) 'Результат: "FGHI"MsgBox Right ("ABCDEFGHI", 2) 'Результат: "HI"MsgBox Right ("ABCDEFGHI", 1) 'Результат: "I"MsgBox Right ("ABCDEFGHI", 100) 'Результат: "ABCDEFGHI"Конец подписки |
Правая функция VBA Последние n символов в переменной
Как показано выше, вы можете определить строку, просто введя текст в кавычках. Но функция RIGHT также будет работать со строковыми переменными. Эти примеры извлекут последние n символов из строковой переменной.
123456789 | Sub RightExample_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»Конец подписки |
Программирование на VBA | Генератор кода действительно работает для вас!
Правая функция VBA Последние n символов из ячейки
Строки можно определять в коде VBA, но также можно использовать значения из ячеек. Прочтите значение ячейки, сохраните его в строковой переменной и извлеките последние n символов из этого значения ячейки рабочего листа.
123456789101112 | Sub RightExample_3 ()Dim StrEx As String 'Определите строковую переменную'Прочтите значение ячейки A1 на листе Sheet1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A1"). Value'В этом примере значение ячейки A1 - «ABCDEFG hI».MsgBox Right (StrEx, 4) 'Результат: "G hI"MsgBox Right (StrEx, 2) 'Результат: «привет»MsgBox Right (StrEx, 1) 'Результат: «I»MsgBox Right (StrEx, 100) 'Результат: «ABCDEFG hI»Конец подписки |
Правая функция VBA обрезать первую букву
Чтобы удалить буквы из начала строки, используйте функцию ВПРАВО вместе с функцией LEN.
Функция VBA LEN подсчитывает количество символов в строке:
1 | Лен (StrEx) |
Комбинируя функции, мы можем удалить определенное количество символов из начала строки:
12345678 | Sub RightExample_4 ()Dim StrEx As String 'Определите строковую переменнуюStrEx = "ABCDEF"MsgBox Right (StrEx, Len (StrEx)) 'Результат: "ABCDEF"MsgBox Right (StrEx, Len (StrEx) - 1) 'Результат: "BCDEF"MsgBox Right (StrEx, Len (StrEx) - 2) 'Результат: "CDEF"Конец подписки |
Право VBA на извлечение текста после пробела
Чтобы извлечь фамилию из строки с полным именем, используйте функцию Right вместе с функцией Len и Instr.
Функция VBA LEN подсчитывает количество символов в строке:
1 | Лен (StrEx) |
Функция VBA InStr ищет подстроку внутри строки и возвращает номер позиции подстроки.
1 | InStr (StrEx, "") |
Комбинируя функции, мы можем извлечь часть фразы после первого пробела:
123456789101112131415 | Sub RightExample_5 ()Dim StrEx As String 'Определите строковую переменнуюStrEx = "Люк Скайуокер"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Результат: «Скайуокер».StrEx = "Леонардо да Винчи"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))'Результат: "да Винчи"StrEx = "Да пребудет с тобой Сила"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Результат: «Сила пребудет с тобой».Конец подписки |
Устали искать примеры кода VBA? Попробуйте AutoMacro!
Право VBA на извлечение последнего слова
Чтобы извлечь последнее слово из строки с фразой, используйте функцию Right вместе с Len и функцией InstrRev.
Как мы видели выше, функция VBA LEN подсчитывает количество символов в строке:
1 | Лен (StrEx) |
Функция VBA InStrRev ищет подстроку внутри строки и возвращает номер позиции подстроки. Он начинает поиск с конца фразы (справа налево), но возвращает позицию с начала строки (слева направо).
1 | InStrRev (StrEx, "") |
Комбинируя функции, мы можем извлечь часть фразы после последнего пробела:
123456789101112131415 | Sub RightExample_6 ()Dim StrEx As String 'Определите строковую переменнуюStrEx = "Люк Скайуокер"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Результат: «Скайуокер».StrEx = "Леонардо да Винчи"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'Результат: "да Винчи"StrEx = "Да пребудет с тобой Сила"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))"Результат:" ты "Конец подписки |