Top-office11.ru

IT и мир ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba excel instr описание

Функция InStr

Возвращает значение типа Variant ( Long), определяющее положение первого вхождения одной строки в другую.

Instr ([ начало, ] строка1, строка2[ , сравнение] )

Функция InStr имеет следующие аргументы:

Необязательный аргумент. Числовое выражение, которое задает начальное положение для каждого поиска. Если аргумент не задан, поиск начинается с первого символа. Если аргумент начало содержит значение NULL, возникает ошибка. Если задан аргумент сравнение, аргумент начало является обязательным.

Обязательный аргумент. Представляет собой строковое выражение, в котором выполняется поиск.

Обязательный аргумент. Искомое строковое выражение.

Необязательный аргумент. Указывает тип сравнение строк. Если функция сравнить имеет значение null, возникает ошибка. Если аргумент » Сравнение «опущен, тип сравнения определяется параметром » сравнить «. Укажите допустимый LCID (LocaleID), чтобы использовать в сравнении правила, зависящие от языкового стандарта.

Совет: В Access 2010 построитель выражений включает функцию IntelliSense, которая указывает требуемые аргументы.

Аргумент сравнение может принимать следующие значения:

Выполняется сравнение с помощью параметра инструкции Option Compare.

Выполняется двоичное сравнение.

Выполняется текстовое сравнение.

Только в Microsoft Office Access 2007. Выполняется сравнение на основе сведений из базы данных.

строка1 является пустой

строка1 равна NULL

строка2 является пустой

строка2 равна NULL

строка2 не найдена

строка2 найдена в строке1

Позиция найденного соответствия

Функция InStrB используется с байтовыми данными, содержащимися в строке. Функция InStrB возвращает позицию байта, а не позицию знака первого вхождения одной строки в другую.

Примеры

Использование функции InStr в выражении. Функцию InStr можно использовать в любых выражениях. Например, если требуется определить позицию первой точки ( .) в поле, которое содержит IP-адрес (IPAddress), можно использовать функцию InStr для его поиска:

Функция InStr проверяет каждое значение в поле IPAddress и возвращает позицию первой точки. Следовательно, если значение первого октета IP-адреса равно 10., функция возвращает значение 3.

Можно использовать другие функции, использующие результат функции InStr, для извлечения значения октета IP-адреса, который предшествует первой точке, например:

В этом примере функция InStr(1,[IPAddress],».») возвращает позицию первой точки. В результате вычитания 1 определяется количество знаков, предшествующих первой точке, в данном случае — 2. Затем функция Left получает эти символы из левой части поля IPAddress, возвращая значение 10.

Использование функции InStr в коде VBA

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В данном примере функция InStr используется для получения позиции первого вхождения одной строки в другую.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

VBA Excel. Функция InStr (синтаксис, параметры, примеры)

Определение первого вхождения одной строки в другую с помощью функции InStr из кода VBA Excel. Синтаксис функции, параметры, примеры использования.

Описание функции InStr

Функция InStr часто незаменима при определении параметров функций Left, Mid и Right. Также ее можно использовать для определения наличия искомой подстроки в заданной строке.

Еще есть в VBA Excel функция InStrB, которая работает с байтовыми данными, содержащимися в строке. Она возвращает позицию байта, а не символа первого вхождения одной строки в другую. Смотрите ниже Пример 3.

Читать еще:  Функция concatenate в excel

Синтаксис, параметры, значения

Синтаксис функции InStr

Полный вариант:
InStr([начало], строка1, строка2, [сравнение])

Сокращенный вариант:
InStr(строка1, строка2)

Чаще всего в VBA Excel используется сокращенный вариант функции со значениями необязательных параметров по умолчанию.

Параметры функции InStr

ПараметрОписаниеЗначение по умолчанию
началоНеобязательный аргумент.* Числовое выражение, которое задает начальную позицию для поиска.1
строка1Обязательный аргумент. Строковое выражение, в котором выполняется поиск.
строка2Обязательный аргумент. Искомое строковое выражение.
сравнениеНеобязательный аргумент. Задает тип сравнения строк.–1**

* Если задан аргумент сравнение, аргумент начало является обязательным.
** Если аргумент сравнение не указан, используется значение инструкции Option Compare, заданное на уровне модуля. Если инструкция Option Compare в начале модуля отсутствует, используется ее значение по умолчанию – 0 (двоичное сравнение).

Если параметр начало или параметр сравнение содержит значение NULL, возникает ошибка.

Значения аргумента «сравнение»

КонстантаЗначениеОписание
vbUseCompareOption-1Сравнение с помощью параметра инструкции Option Compare.
vbBinaryCompareДвоичное (бинарное) сравнение.*
vbTextCompare1Текстовое сравнение.*
vbDatabaseCompare2Сравнение на основе сведений из базы данных. Только для Microsoft Access.

* При двоичном сравнении учитывается регистр букв, при текстовом – не учитывается.

Функции VBA для работы с текстом

  • ASC ()— эта функция позволяет вернуть числовой код для переданного символа. Например, ASC( «D» ) вернет 68. Эту функцию удобно использовать для того, чтобы определить следующую или предыдущую букву. Обычно она используется вместе с функцией Chr(), которая производит обратную операцию — возвращает символ по переданному его числовому коду.Варианты этой функции — AscB() и AscW():
    • AscB () — возвращает только первый байт числового кода для символа.
    • AscW () — возвращает код для символа в кодировке Unicode
  • Chr () — возвращает символ по его числовому коду. Может использоваться в паре с функцией Asc(), но чаще всего её применяют, когда нужно вывести служебный символ (например кавычки — » ), т.к. кавычки просто так в VBA-коде не ввести(нужно ставить двойные). Я обычно именно эту функцию и использую.

    Dim sWord As String sWord = Chr(34) & «Слово в кавычках» & Chr(34)

    Есть варианты этой функции — ChrB() и ChrW(). Работают аналогично таким же вариантам для функции Asc().
    InStr () и InStrRev ()— одна из самых популярных функций. Позволяет обнаружить в теле строковой переменной символ или последовательность символов и вернуть их позицию. Если последовательность не обнаружена, то возвращается 0.

    Dim sStr As String sStr = «w» If InStr(1, «Hello, World!», sStr, vbTextCompare) > 0 Then MsgBox «Искомое слово присутствует!» Else MsgBox «Искомое слово отсутствует!» End If

    Разница функций в том, что InStr() ищет указанное слово от начала строки, а InStrRev() с конца строки
    Left (), Right (), Mid ()— возможность взять указанное вами количество символов из существующей строковой переменной слева, справа или из середины соответственно.

    Dim sStr As String sStr = «Hello, World!» MsgBox Mid(sStr, 1, 5)

    Dim sStr As String sStr = «Hello, World!» MsgBox Replace(sStr, «Hello», «Bay»)

    Dim sStr As String sStr = «Hello, World!» MsgBox StrConv(«Hello, World!», vbUpperCase)

    В качестве второго параметра параметра могут применяться константы:

    • vbUpperCase: Преобразует все текстовые символы в ВЕРХНИЙ РЕГИСТР
    • vbLowerCase: Преобразует все текстовые символы в нижний регистр
    • vbProperCase: Переводит первый символ каждого слова в Верхний Регистр
    • *vbWide: Преобразует символы строки из однобайтовых в двухбайтовые
    • *vbNarrow: Преобразует символы строки из двухбайтовых в однобайтовые
    • **vbKatakana: Преобразует символы Hiragana в символы Katakana
    • **vbHiragana: Преобразует символы Katakana в символы Hiragana
    • ***vbUnicode: Преобразует строку в Юникод с помощью кодовой страницы системы по умолчанию
    • ***vbFromUnicode: Преобразует строку из Юникод в кодовую страницу системы по умолчанию

    * применимо для локализацией Дальнего востока
    ** применимо только для Японии
    *** не поддерживается операционными системами под управлением Macintosh

  • StrReverse () — «перевернуть» строку, разместив ее символы в обратном порядке. Функция работает только начиная от Excel 2000 и выше. Пример использования функции, а так же иные методы переворачивания слова можно посмотреть в этой статье: Как перевернуть слово?
  • Tab () — еще одна функция, которая используется для форматирования вывода на консоль. Размножает символы табуляции в том количестве, в котором вы укажете. Если никакое количество не указано, просто вставляет символ табуляции. Для вставки символа табуляции в строковое значение можно также использовать константу vbTab.
  • String () — позволяет получить строку из указанного количества символов (которые опять-таки указываются Вами). Обычно используются для форматирования вывода совместно с функцией Len().
  • VBA InStr

    VBA InStr Function

    In VBA we have a function called InStr Function which is used to return the position of the first occurrence of a substring in a string. Which means, for example, we have a name called “Jhon” and we have to find the occurrence of the position of H alphabet in the string. This is what the function is used for.

    Formula for InStr Function in Excel VBA

    Excel VBA InStr function has the following syntax:

    Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more

    In the syntax Start and compare are optional while string and substring values are required. A string is a string where we want to find our substring and substring is the value which is required to be found in the string. Suppose if we had to use the above syntax on our example of Jhon above the VBA code would be as below,

    Instr(“Jhon”,”H”) and the result would be 2 as the position of alphabet H is 2 in the string.

    Now we move towards the optional parts of the syntax which are, start and compare. The start is the position of the string from where we want to start the search, whereas compare is of three types,

    1. VbUseCompareOption: (-1) It is used to do option compare.
    2. VbBinaryCompare: (0) It is used to do binary compare.
    3. VbTextCompare: (1) It is used to the textual comparison.

    But we need a variable to store the value of the result. As the value is an integer so the variable defined should also be an integer. Now if we have calculated the value we also need to display the result we use msgbox function to display the result.

    How to Use Excel VBA InStr Function?

    We will learn how to use a VBA InStr Excel function with few examples.

    VBA InStr Function – Example #1

    In the explanation above I used the word Jhon as a string and wanted to find the position of H in the string. I will write the code for the same in VBA and use Instr function to find the position of J in the string.

    Follow the below steps to use InStr function in VBA.

    Step 1: In the Developer Tab click on Visual Basic to open the VB Editor.

    Step 2: Once the module is open, declare a sub-function to start writing the code.

    Code:

    Step 3: Now the function is declared, We need to declare a variable to store the position of the substring.

    Code:

    Step 4: Now we write the InStr function to find out the position of our substring.

    Code:

    Step 5: To return the position of the substring as a value, we use the MsgBox function and close the subfunction.

    Code:

    Step 6: If we run the code it shows the position of alphabet J in the string.

    Step 7: If we change the substring to check that the code is running properly, let us find the alphabet n in the string.

    Code:

    Step 8: Now if we run the code we can see the position of alphabet n in the string.

    VBA InStr Function – Example #2

    Now we have seen what the required arguments of the function do, now let us use the optional ones. The String is “I am a Good Boy but not a Good Runner”. We will find the substring “Good” from the string but ignore the first Good from the sentence.

    Follow the below steps to use InStr function in VBA.

    Step 1: Open the VB editor from the developers’ tab by clicking on Visual Basic.

    Step 2: Start by declaring a sub-function.

    Code:

    Step 3: Now declare a variable to store the position of the substring.

    Code:

    Step 4: Now we will use InStr function to find the position of the string.

    Code:

    Step 5: Now we use the Msgbox function to return the value of the string.

    Code:

    Step 6: Now if we run the code we can get the position of the substring.

    Explanation of Excel VBA Instr Function

    InStr function in VBA is used to return the position of the value of the substring in a string. What happens if the value is not found? If the value is not found in the string the result displayed is zero.

    One thing we should always remember the Instr function is case sensitive. To prove this we move to example 1 where we used instr function to search an alphabet.

    What happens if the substring is “N” instead of “n’? let us find out. I have changed the case of the alphabet in the string.

    Now if I run the code I will get the result as shown below.

    This proves that the instr function is case sensitive.

    Things to Remember

    • The two required fields are String and Substring.
    • Instr Function is case sensitive.
    • The value of the InStr function is an integer.

    Recommended Articles

    This has been a guide to VBA InStr Function. Here we discussed how to use Excel VBA InStr Function along with practical examples and downloadable excel template. You can also go through our other suggested articles –

    All in One Software Development Bundle (600+ Courses, 50+ projects)

    Ссылка на основную публикацию
    Adblock
    detector