Функция VBA InStrRev - поиск текста справа

Содержание

В этом руководстве будет показано, как использовать функцию InStrRev VBA для поиска текста справа…

Функция InStrRev

Функция VBA InStrRev ищет позицию подстроки внутри строки. Он возвращает отсчет позиции слева направо, но выполняет поиск от конца строки к началу.

VBA InStrRev Найти подстроку

Функцию VBA InStrRev можно использовать для поиска позиции подстроки внутри строки.

12345678 Sub InStrRevExample_1 ()MsgBox InStrRev ("ABCABC", "C") 'Результат: 6MsgBox InStrRev ("ABCABC", "BC") 'Результат: 5MsgBox InStrRev ("La La Land", "L") 'Результат: 7MsgBox InStrRev ("La La Land", "La") 'Результат: 7MsgBox InStrRev ("La La Land", "La") 'Результат: 4MsgBox InStrRev ("La La Land", "M") 'Результат: 0Конец подписки

Начальное положение VBA InStrRev

Функция VBA InStrRev может начать поиск подстроки с назначенной позиции, считая слева направо.

12345678 Sub InStrRevExample_2 ()MsgBox InStrRev ("La La Land", "L") 'Результат: 7MsgBox InStrRev ("La La Land", "L", 8) 'Результат: 7MsgBox InStrRev ("La La Land", "L", 7) 'Результат: 7MsgBox InStrRev ("La La Land", "L", 6) 'Результат: 4MsgBox InStrRev ("La La Land", "L", 4) 'Результат: 4MsgBox InStrRev ("La La Land", "L", 3) 'Результат: 1Конец подписки

Программирование на VBA | Генератор кода действительно работает для вас!

Чувствительность к регистру VBA InStrRev

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

123456789 Sub InStrRevExample_3 ()'InstrRev по умолчанию чувствителен к региструMsgBox InStrRev ("La La Land", "L") 'Результат: 7MsgBox InStrRev ("La La Land", "l") 'Результат: 0InstrRev может выполнять поиск без учета регистраMsgBox InStrRev ("La La Land", "L", -1, vbTextCompare) 'Результат: 7MsgBox InStrRev ("La La Land", "l", -1, vbTextCompare) 'Результат: 7Конец подписки

VBA InStrRev Последнее пространство

Функция VBA InStrRev может найти позицию последнего пробела в строке.

123456789 Sub InStrRevExample_4 ()MsgBox InStrRev ("La La Land", "")Результат: 6MsgBox InStrRev ("Леонардо да Винчи", "")Результат: 12MsgBox InStrRev («Да пребудет с тобой Сила», «»)Результат: 22Конец подписки

VBA InStrRev от второго до последнего места

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

12345678910111213 Sub InStrRevExample_5 ()Dim LastPos как целое числоLastPos = InStrRev («Да пребудет с тобой Сила», «»)Результат MsgBox LastPos: 22Dim SecondLastPos как целое числоSecondLastPos = InStrRev («Да пребудет с тобой Сила», «», LastPos - 1)Результат MsgBox SecondLastPos: 17'InStrRev начал поиск места незадолго до последнего места'Он найдет предпоследний пробел, потому что ищет справа налевоКонец подписки

Устали искать примеры кода VBA? Попробуйте AutoMacro!

Имя файла возврата VBA InStrRev

Функцию VBA InStrRev можно использовать для простого возврата имени файла из строки, содержащей путь и имя файла. Мы будем использовать функцию InStrRev с функциями VBA Len и VBA Right.

Функция VBA Len возвращает длину строки:

1 MsgBox Len ("XBCX") 'Результат: 4

Функция VBA Right возвращает n символов из конца строки:

1 MsgBox Right ("ABCDE", 2) 'Результат: DE

Мы можем использовать функцию InStrRev, чтобы найти последнее вхождение «\» в имени пути, и использовать функцию Len для вычисления длины имени файла. Затем право может извлечь имя файла.

12345678910111213141516171819202122232425262728 Sub InStrRevExample_4 ()Dim PathEx как строкаPathEx = "C: \ MyFiles \ Other \ UsefulFile.pdf"Dim FilenameEx как строкаFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))MsgBox FilenameEx 'Результат: UsefulFile.pdf'Давайте разберем этот кодMsgBox Len (PathEx)'Это длина имени пути (31)MsgBox InStrRev (PathEx, "\")'Это позиция последнего \ в строкеMsgBox Len (PathEx) - InStrRev (PathEx, "\")'Это длина имени файла (14)'Разница между полной длиной и положением последнего \ в строке'(31-27 = 14)'Теперь мы знаем длину имени файла и, конечно же, в конце'Правая функция идеально подходит для этой ситуацииFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))Конец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave