Instr access функция: InStr — Функции обработки строк — Функции VBA — Справочники
Содержание
InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse
В этой статье разберем работу со строками в VBA на примерах функций InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse.
Строки — это последовательность символов, которая может состоять либо из алфавитов, цифр, специальных символов, либо из всех них. Переменная называется строкой, если она заключена в двойные кавычки «».
Содержание:
- Синтаксис
- Примеры
- Строковые функции
- Название функции и описание
- InStr
- Синтаксис
- Параметр Описание
- пример
- Синтаксис
- Параметр Описание
- пример
- LCASE
- Синтаксис
- пример
- UCase
- Синтаксис
- пример
- Left
- Синтаксис
- Параметр Описание
- пример
- Right
- Синтаксис
- Параметр Описание
- пример
- Mid
- Синтаксис
- Параметр Описание
- LTrim
- Синтаксис
- пример
- RTrim
- Синтаксис
- пример
- Trim
- Синтаксис
- пример
- Len
- Синтаксис
- пример
- Replace
- Синтаксис
- Параметр Описание
- пример
- Space
- Синтаксис
- Параметр Описание
- пример
- StrComp
- Синтаксис
- Параметр Описание
- пример
- String
- Синтаксис
- Параметр Описание
- пример
- StrReverse
- Синтаксис
- пример
Синтаксис
variablename = "string"
Примеры
str1 = "string" ' Only Alphabets str2 = "132.45" ' Only Numbers str3 = "!@#$;*" ' Only Special Characters Str4 = "Asc23@#" ' Has all the above
Строковые функции
Существуют предопределенные функции VBA String, которые помогают разработчикам эффективно работать со строками. Ниже приведены методы String, поддерживаемые в VBA. Пожалуйста, нажмите на каждый из методов, чтобы знать подробно.
Название функции и описание
InStr
Функция InStr возвращает первое вхождение одной строки в другую строку. Поиск происходит слева направо.
Синтаксис
InStr([start,]string1,string2[,compare])
Параметр Описание
- Пуск — необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции слева направо.
- String1 — требуемый параметр. Строка для поиска.
- String2 — требуемый параметр. Строка, по которой выполняется поиск String1.
- Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare — выполняет сравнение текста
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim Var As Variant Var = "Microsoft VBScript" MsgBox ("Line 1 : " & InStr(1, Var, "s")) MsgBox ("Line 2 : " & InStr(7, Var, "s")) MsgBox ("Line 3 : " & InStr(1, Var, "f", 1)) MsgBox ("Line 4 : " & InStr(1, Var, "t", 0)) MsgBox ("Line 5 : " & InStr(1, Var, "i")) MsgBox ("Line 6 : " & InStr(7, Var, "i")) MsgBox ("Line 7 : " & InStr(Var, "VB")) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : 6
Line 2 : 0
Line 3 : 8
Line 4 : 9
Line 5 : 2
Line 6 : 16
Line 7 : 11
Возвращает первое вхождение указанной подстроки. Поиск происходит слева направо.
InStrRev
Функция InStrRev возвращает первое вхождение одной строки в другую строку. Поиск происходит справа налево.
Синтаксис
InStrRev(string1,string2[,start,[compare]])
Параметр Описание
- String1 — требуемый параметр. Строка для поиска.
- String2 — требуемый параметр. Строка, по которой выполняется поиск String1.
- Пуск — необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции справа налево.
- Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare — выполняет сравнение текста
пример
Добавьте кнопку и установите следующую функцию.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & InStrRev(var,"s",10)) msgbox("Line 2 : " & InStrRev(var,"s",7)) msgbox("Line 3 : " & InStrRev(var,"f",-1,1)) msgbox("Line 4 : " & InStrRev(var,"t",5)) msgbox("Line 5 : " & InStrRev(var,"i",7)) msgbox("Line 6 : " & InStrRev(var,"i",7)) msgbox("Line 7 : " & InStrRev(var,"VB",1)) End Sub
После выполнения вышеуказанного скрипта он производит следующий результат.
Line 1 : 6
Line 2 : 6
Line 3 : 8
Line 4 : 0
Line 5 : 2
Line 6 : 2
Line 7 : 0
Возвращает первое вхождение указанной подстроки. Поиск происходит справа налево.
LCASE
Функция LCase возвращает строку после преобразования введенной строки в строчные буквы.
Синтаксис
Lcase(String)
пример
Добавьте кнопку и поместите следующую функцию внутри нее.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & LCase(var)) var = "MS VBSCRIPT" msgbox("Line 2 : " & LCase(var)) var = "microsoft" msgbox("Line 3 : " & LCase(var)) End Sub
После выполнения вышеуказанного скрипта он производит следующий вывод.
Line 1 : microsoft vbscript
Line 2 : ms vbscript
Line 3 : microsoft
Возвращает нижний регистр указанной строки.
UCase
Функция UCase возвращает строку после преобразования введенной строки в буквы буквы UPPER.
Синтаксис
UCase(String)
пример
Добавьте кнопку и поместите следующую функцию внутри нее.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & UCase(var)) var = "MS VBSCRIPT" msgbox("Line 2 : " & UCase(var)) var = "microsoft" msgbox("Line 3 : " & UCase(var)) End Sub
После выполнения вышеуказанного скрипта он производит следующий вывод.
Line 1 : MICROSOFT VBSCRIPT
Line 2 : MS VBSCRIPT
Line 3 : MICROSOFT
Возвращает верхний регистр указанной строки.
Left
Функция Left возвращает указанное количество символов с левой стороны данной входной строки.
Синтаксис
Left(String, Length)
Параметр Описание
- String — обязательный параметр.
Строка ввода, из которой указанное число символов должно быть возвращено с левой стороны.
- Длина — требуемый параметр. Целое число, определяющее количество возвращаемых символов.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript" msgbox("Line 1 : " & Left(var,2)) var = "MS VBSCRIPT" msgbox("Line 2 : " & Left(var,5)) var = "microsoft" msgbox("Line 3 : " & Left(var,9)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : Mi
Line 2 : MS VB
Line 3 : microsoft
Возвращает определенное количество символов с левой стороны строки.
Right
Функция Right возвращает указанное количество символов с правой стороны данной входной строки.
Синтаксис
Right(String, Length)
Параметр Описание
- String — обязательный параметр.
Строка ввода, из которой указанное число символов должно быть возвращено с правой стороны.
- Длина — требуемый параметр. Целое число, которое задает количество возвращаемых символов.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & Right(var,2)) var = "MS VBSCRIPT" msgbox("Line 2 : " & Right(var,5)) var = "microsoft" msgbox("Line 3 : " & Right(var,9)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : pt
Line 2 : CRIPT
Line 3 : microsoft
Возвращает определенное количество символов с правой стороны строки.
Mid
Mid функция возвращает указанное количество символов из заданной входной строки.
Синтаксис
Mid(String,start[,Length])
Параметр Описание
- String — обязательный параметр.
Строка ввода, из которой задано количество символов, которые нужно вернуть.
- Начало — требуемый параметр. Целое число, определяющее начальную позицию строки.
- Длина — необязательный параметр. Целое число, определяющее количество возвращаемых символов.
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript" msgbox("Line 1 : " & Mid(var,2)) msgbox("Line 2 : " & Mid(var,2,5)) msgbox("Line 3 : " & Mid(var,5,7)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : icrosoft VBScript
Line 2 : icros
Line 3 : osoft V
Возвращает определенное количество символов из строки на основе указанных параметров.
LTrim
Функция Ltrim удаляет пробелы с левой стороны строки.
Синтаксис
LTrim(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = " Microsoft VBScript" msgbox "After Ltrim : " & LTrim(var) End Sub
Когда вы выполняете функцию, она производит следующий вывод.
After Ltrim : Microsoft VBScript
Возвращает строку после удаления пробелов в левой части указанной строки.
RTrim
Функция Rtrim удаляет пробелы с правой стороны строки.
Синтаксис
RTrim(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript " msgbox("After Rtrim : " & RTrim(var)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
After Rtrim : Microsoft VBScript
Возвращает строку после удаления пробелов в правой части указанной строки.
Trim
Функция Trim удаляет как ведущее, так и конечное пустое пространство данной входной строки.
Синтаксис
Trim(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" var = " Microsoft VBScript " msgbox ("After Trim : " & Trim(var)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
After trim : Microsoft VBScript
Возвращает строковое значение после удаления как верхнего, так и конечного пробелов.
Len
Функция Len возвращает длину данной входной строки, включая пробелы.
Синтаксис
Len(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var1 as Variant Dim var2 as Variant var1 ="Microsoft VBScript" msgbox("Length of var1 is : " & Len(var1)) var2 = " Microsoft VBScript " msgbox ("Length of var2 is : " & Len(var2)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Length of var1 is : 18
Length of var2 is : 36
Возвращает длину данной строки.
Replace
Функция Replace заменяет указанную часть строки на определенную строку, указанное количество раз.
Синтаксис
Replace(string,find,replacewith[,start[,count[,compare]]])
Параметр Описание
- String — обязательный параметр. Строка ввода, которую нужно искать для замены.
- Find — требуемый параметр. Часть строки, которая будет заменена.
- Replacewith — обязательный параметр. Строка замены, которая будет заменена на параметр find.
- Start — необязательный параметр. Задает начальную позицию, из которой нужно искать и заменять строку. Значение по умолчанию — 1.
- Count — необязательный параметр. Указывает количество раз, которое должна выполняться замена.
- Compare — Необязательный параметр. Указывает метод сравнения, который будет использоваться. Значение по умолчанию — 0.
- 0 = vbBinaryCompare — выполняет двоичное сравнение
- 1 = vbTextCompare — выполняет текстовое сравнение
пример
Private Sub Constant_demo_Click() Dim var as Variant var = "This is VBScript Programming" 'VBScript to be replaced by MS VBScript msgbox("Line 1: " & Replace(var,"VBScript","MS VBScript")) 'VB to be replaced by vb msgbox("Line 2: " & Replace(var,"VB","vb")) ''is' replaced by ## msgbox("Line 3: " & Replace(var,"is","##")) ''is' replaced by ## ignores the characters before the first occurence msgbox("Line 4: " & Replace(var,"is","##",5)) ''s' is replaced by ## for the next 2 occurences.msgbox("Line 5: " & Replace(var,"s","##",1,2)) ''r' is replaced by ## for all occurences textual comparison. msgbox("Line 6: " & Replace(var,"r","##",1,-1,1)) ''t' is replaced by ## for all occurences Binary comparison msgbox("Line 7: " & Replace(var,"t","##",1,-1,0)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1: This is MS VBScript Programming
Line 2: This is vbScript Programming
Line 3: Th## ## VBScript Programming
Line 4: ## VBScript Programming
Line 5: Thi## i## VBScript Programming
Line 6: This is VBSc##ipt P##og##amming
Line 7: This is VBScrip## Programming
Возвращает строку после замены строки другой строкой.
Space
Функция Space заполняет строку конкретным количеством пробелов.
Синтаксис
space(number)
Параметр Описание
Номер — требуемый параметр. Количество пробелов, которые мы хотим добавить к данной строке.
пример
Private Sub Constant_demo_Click() Dim var1 as Variant var1 = "Microsoft" Dim var2 as Variant var2 = "VBScript" msgbox(var1 & Space(2)& var2) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Microsoft VBScript
Заполняет строку указанным количеством пробелов.
StrComp
Функция StrComp возвращает целочисленное значение после сравнения двух заданных строк. Он может возвращать любое из трех значений -1, 0 или 1 на основе входных строк для сравнения.
- Если String1 меньше String2, то StrComp возвращает -1
- Если String1 равно String2, то StrComp возвращает 0
- Если String1 больше String2, то StrComp возвращает 1
Синтаксис
StrComp(string1,string2[,compare])
Параметр Описание
- String1 — требуемый параметр.
Первое строковое выражение.
- String2 — требуемый параметр. Второе строковое выражение.
- Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare — выполняет сравнение текста
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var1 as Variant msgbox("Line 1 :" & StrComp("Microsoft","Microsoft")) msgbox("Line 2 :" &StrComp("Microsoft","MICROSOFT")) msgbox("Line 3 :" &StrComp("Microsoft","MiCrOsOfT")) msgbox("Line 4 :" &StrComp("Microsoft","MiCrOsOfT",1)) msgbox("Line 5 :" &StrComp("Microsoft","MiCrOsOfT",0)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 :0
Line 2 :1
Line 3 :1
Line 4 :0
Line 5 :1
Возвращает целочисленное значение после сравнения двух указанных строк.
String
Функция String заполняет строку указанным символом для указанного количества раз.
Синтаксис
String(number,character)
Параметр Описание
- Номер — требуемый параметр. Целочисленное значение, которое будет повторяться в течение определенного количества раз против параметра символа.
- Символ — требуемый параметр. Значение символа, которое должно повторяться определенное количество раз.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() msgbox("Line 1 :" & String(3,"$")) msgbox("Line 2 :" & String(4,"*")) msgbox("Line 3 :" & String(5,100)) msgbox("Line 4 :" & String(6,"ABCDE")) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 :$$$
Line 2 :****
Line 3 :ddddd
Line 4 :AAAAAA
Возвращает строку с указанным символом для указанного количества раз.
StrReverse
Функция StrReverse меняет указанную строку.
Синтаксис
StrReverse(string)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() msgbox("Line 1 : " & StrReverse("VBSCRIPT")) msgbox("Line 2 : " & StrReverse("My First VBScript")) msgbox("Line 3 : " & StrReverse("123.45")) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : TPIRCSBV
Line 2 : tpircSBV tsriF yM
Line 3 : 54.321
Возвращает строку после изменения последовательности символов данной строки.
С уважением, авторы сайта Компьютерапия
Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!
База Данных MySQL Функции
HTML5CSS.ru
ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
❮ Назад
Дальше ❯
MS Access имеет множество встроенных функций.
Эта ссылка содержит строки, числовые, Дата и информационные функции в MS Access.
Функции строки доступа MS
Функции | Описание |
---|---|
Asc | Возвращает код числа, представляющий конкретный символ |
Chr | Возвращает символ, основанный на коде номера |
Concat with & | Объединяет несколько строк в одну строку с оператором & |
CurDir | Возвращает текущий путь |
Format | Форматирует строковое выражение |
InStr | Возвращает позицию первого вхождения строки в другую строку |
InstrRev | Возвращает позицию первого вхождения строки в другую строку, начиная с конца строки |
LCase | Преобразует строку в нижний регистр |
Left | Извлекает подстроку из строки (начиная с левого) |
Len | Возвращает длину указанной строки |
LTrim | Удаление начальных пробелов из строки |
Mid | Извлекает подстроку из строки (начиная с любой позиции) |
Replace | Заменяет последовательность символов в строке другим набором символов (несколько раз) |
Right | Извлекает подстроку из строки (начиная справа) |
RTrim | Удаляет замыкающие пробелы из строки |
Space | Возвращает строку с заданным количеством пробелов |
Split | Разделяет строку на подстроки (на основе разделителя) и возвращает результат в виде массива подстрок |
Str | Возвращает строковое представление числа |
StrComp | Возвращает целочисленное значение, представляющее результат сравнения строк |
StrConv | Возвращает преобразованную строку |
StrReverse | Возвращает строку, символы которой находятся в обратном порядке |
Trim | Удаление начальных и конечных пробелов из строки |
UCase | Преобразует строку в верхний регистр |
Цифровые функции MS Access
Функции | Описание |
---|---|
Abs | Возвращает абсолютное значение числа |
Atn | Возвращает арктангенс числа |
Avg | Возвращает среднее значение выражения |
Cos | Возвращает косинус угла |
Count | Возвращает количество записей в запросе SELECT |
Exp | Возвращает e, возведенное в n-ую силу |
Fix | Возвращает целочисленную часть числа |
Format | Принимает числовое выражение и возвращает его как отформатированную строку |
Int | Возвращает целочисленную часть числа |
Max | Возвращает максимальное значение выражения |
Min | Возвращает минимальное значение выражения |
Randomize | Позволяет изменить начальное значение, используемое генератором случайных чисел для функции Rnd () |
Rnd | Генерирует случайное число |
Round | Возвращает число, округленное до определенного числа десятичных разрядов |
Sgn | Возвращает знак числа |
Sqr | Возвращает квадратный корень числа |
Sum | Возвращает суммированное значение выражения |
Val | Принимает строку в качестве входных данных и возвращает числа, найденные в этой строке |
Функции даты доступа MS
Функции | Описание |
---|---|
Date | Возвращает текущую системную дату |
DateAdd | Возвращает дату после добавления интервала времени/даты |
DateDiff | Возвращает разницу между двумя значениями даты |
DatePart | Возвращает указанную часть даты |
DateSerial | Возвращает дату, заданную значением года, месяца и дня |
DateValue | Преобразует строку в дату |
Day | Возвращает день месяца (от 1 до 31) для даты |
Format | Принимает выражение Date и возвращает его как отформатированную строку |
Hour | Возвращает час (от 0 до 23) для значения времени |
Minute | Возвращает минуту часа (от 0 до 59) для значения времени |
Month | Возвращает месяц (от 1 до 12) для даты |
MonthName | Возвращает MonthName с учетом числа от 1 до 12 |
Now | Возвращает текущую системную дату и время |
Second | Возвращает вторую минуту (от 0 до 59) для значения времени |
Time | Возвращает текущее системное время |
TimeSerial | Возвращает время, заданное час, минута и второе значение |
TimeValue | Преобразует строку в время |
Weekday | Возвращает число (от 1 до 7), представляющее день недели для даты |
WeekdayName | Возвращает имя дня недели, заданное числом от 1 до 7 |
Year | Возвращает год (четыре цифры) для даты |
Функции доступа к информации MS
Функции | Описание |
---|---|
CurrentUser | Возвращает имя текущего пользователя Access |
Environ | Возвращает значение переменной среды операционной системы |
IsDate | Возвращает значение true, если выражение является допустимой датой, в противном случае — false |
IsNull | Возвращает значение true, если выражение является нулевым значением, в противном случае — false |
IsNumeric | Возвращает значение true, если выражение является допустимым числом, в противном случае — false |
❮ Назад
Дальше ❯
PHP\CSS\JS\HMTL Editor
Copyright 2018-2020 HTML5CSS. ru
Правила и Условия Политика конфиденциальности
О нас
Контакты
Поиск текста в строке (функция INSTR)
В этой статье
- Функция INSTR
- Пример Instr
- Синтаксис Instr
- Начальная позиция Instr
- Тест INSTR без учета регистра 9 0008
- Функция InstrRev
- Кодирование VBA Made Easy
- Примеры InString
- Если строка содержит подстроку
- Поиск текстовой строки в ячейке
- Поиск позиции символа в строке
- Поиск строки для Word
- Если переменная содержит строку
- Instr и функция Left
- Использование Instr в Microsoft Access VBA
Функция INSTR
Функция VBA Instr проверяет, найдена ли текстовая строка в другой текстовой строке. Возвращает 0, если текст не найден. В противном случае он возвращает позицию символа, в которой находится текст.
Функция Instr выполняет точных совпадений. Вместо этого можно использовать оператор VBA Like для выполнения неточных совпадений/сопоставления шаблонов с использованием подстановочных знаков.
Instr Example
Следующий фрагмент кода ищет в строке «Искать в этой строке» слово «Искать». Функция Instr возвращает 1, поскольку текст находится в первой позиции.
Sub FindSomeText() MsgBox InStr("Посмотреть в этой строке", "Посмотреть") End Sub
Этот второй пример возвращает 7, потому что текст найден, начиная с 7-й позиции:
Sub FindSomeText2() MsgBox InStr("Не смотреть в этой строке", "Искать") Конец суб
Важно! Функция Instr по умолчанию имеет значение с учетом регистра . Это означает, что «look» не будет совпадать с «Look». Чтобы сделать тест нечувствительным к регистру, читайте ниже.
Синтаксис Instr
Синтаксис функции Instr следующий:
Instr( [start], string, substring, [compare] )
[start] (необязательно) — этот необязательный аргумент является начальной позицией поиска. Введите 1, чтобы начать поиск с позиции 1 (или оставьте поле пустым). Введите 5, чтобы начать поиск с позиции 5. Важно! Функция INSTR вычисляет позицию символа, считая от 1 НЕ от [начальной] позиции .
строка — строка текста для поиска.
подстрока — строка текста для поиска в основной строке.
[сравнить] (необязательно) — по умолчанию Instr чувствителен к регистру. Установив этот аргумент, вы можете сделать Instr нечувствительным к регистру:
Аргумент vb Значение | Целочисленный аргумент | Описание |
vbBinaryCompare | 0 | (по умолчанию) С учетом регистра |
vbTextCompare | 1 | Без учета регистра |
vbDatabaseCompare | 2 | Только доступ MS.![]() |
Начальная позиция инструкции
Начальная позиция инструкции позволяет указать позицию символа, с которой вы начнете поиск. Имейте в виду, однако, что вывод Instr всегда будет считаться с 1.
Здесь мы устанавливаем начальную позицию на 3, чтобы пропустить первую B:
Sub Instr_StartPosition() MsgBox InStr(3, "ABC ABC", "B") End Sub
Результат равен 6, потому что вторая буква B является шестым символом в строке.
Тест INSTR без учета регистра
По умолчанию VBA рассматривает «L» иначе, чем «l». Другими словами, VBA чувствителен к регистру. Это верно для всех текстовых функций. Чтобы сделать VBA нечувствительным к регистру, установите для аргумента [compare] значение 1 или vbTextCompare.
Общедоступная подпрограмма FindText_IgnoreCase() MsgBox InStr(1, "Не смотреть в этой строке", "смотреть", vbTextCompare) End Sub
Кроме того, вы можете добавить Текст сравнения параметров в верхнюю часть модуля кода:
Текст сравнения параметров
Текст сравнения параметров Общедоступная подпрограмма FindText_IgnoreCase2() MsgBox InStr("Не смотреть в этой строке", "смотреть") Конец суб
Option Compare Text повлияет на весь код в этом модуле. Я лично помещаю это в начало любого модуля, который имеет дело с текстом, потому что меня никогда не волнуют различия регистров.
Функция InstrRev
Функция InstrRev выполняет поиск слева. Вместо этого вы можете искать справа, используя функцию InstrRev. Функция InstrRev работает очень похоже на функцию Instr.
Sub FindSomeText_FromRight() MsgBox InStrRev("Посмотреть в этой строке", "Посмотреть") Конец суб
Как и функция Instr, она вернет 1, потому что в тексте есть только один экземпляр «Look». Но если мы добавим второй «Look», вы увидите, что он возвращает позицию самого правого «Look»:
Sub FindSomeText_FromRight() MsgBox InStrRev("Посмотреть в этой строке Посмотреть", "Посмотреть") End Sub
Далее мы рассмотрим другие примеры Instr.
Кодирование VBA стало проще
Прекратите поиск кода VBA в Интернете. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области программирования и множеством функций, позволяющих сэкономить время для всех пользователей!
Узнайте больше!
Примеры InString
Если строка содержит подстроку
Здесь мы будем использовать оператор If, чтобы проверить, содержит ли строка подстроку текста:
Public Sub FindSomeText() Если InStr("Посмотреть в этой строке", "посмотреть") = 0 Тогда MsgBox "Нет совпадений" Еще MsgBox "По крайней мере одно совпадение" Конец, если End Sub
Найти текстовую строку в ячейке
Вы также можете найти строку в ячейке:
Sub Find_String_Cell() Если InStr(Range("B2").Value, "Dr.") > 0 Тогда Диапазон("C2").Value = "Доктор" Конец, если End Sub
Или прокрутите диапазон ячеек, чтобы проверить, содержат ли ячейки текст:
Sub Search_Range_For_Text() Затемнить ячейку как диапазон Для каждой ячейки в диапазоне («b2: b6») Если InStr(cell.Value, "Доктор") > 0 Тогда cell.Offset(0, 1).Value = "Доктор" Конец, если Следующая ячейка Конец суб
Программирование VBA | Генератор кода работает на вас!
Найти позицию символа в строке
Этот код найдет позицию одиночного символа в строке и присвоит позицию переменной:
Sub Find_Char() Dim N As Long n = InStr("Вот, смотри сюда", "L") End Sub
Строка поиска для Word
Этот код будет искать слово в строке:
Sub Search_String_For_Word() Dim N As Long n = InStr("Вот Смотри Здесь", "Смотри") Если п = 0 Тогда MsgBox "Слово не найдено" Еще MsgBox "Слово найдено в позиции: " & n Конец, если Конец суб
Если переменная содержит строку
Этот код проверяет, содержит ли строковая переменная строку текста:
Sub Variable_Contains_String() Dim str As String ул = "Посмотри сюда" Если InStr(str, "Здесь") > 0 Тогда MsgBox "Вот нашел!" Конец, если End Sub
Instr и Left Function
Instr можно использовать вместе с другими текстовыми функциями, такими как Left, Right, Len и Mid, для обрезки текста.
С помощью функции Left вы можете вывести текст перед текстовой строкой:
Sub Instr_Left() Dim str As String Dim N As Long ул = "Посмотри сюда" n = InStr(str, "Здесь") MsgBox Left(str, n - 1) End Sub
Использование Instr в Microsoft Access VBA
Все приведенные выше примеры работают точно так же в Access VBA, как и в Excel VBA.
Чтобы узнать больше, прочитайте нашу статью: Текстовые функции VBA
<<Возврат к примерам VBA
Функция инструктажа — Доступ — SS64.com
Функция инстр — Доступ — SS64.com
- SS64
- Доступ
- Практическое руководство
Возвращает позицию одной строки в другой, начиная по умолчанию с начала строки.
Синтаксис Instr ([ начало ], FullString , PartString , [ сравнить ]) Ключ Старт Число (выражение), задающее начальную позицию для каждого поиска.По умолчанию = 1 FullString Строка (выражение) для поиска. PartString Искомая строка (выражение). сравнение Режим сравнения (Двоичный/Текстовый)
Функцию InStr() можно использовать в VBA или в запросе SQL.
Возвращаемые значения
Если InStr() возвращает Строка найдена Позиция, в которой найдено совпадение FullString имеет нулевую длину 0 FullString короче start 0 FullString равен нулю PartString имеет нулевую длину начало PartString имеет значение Null PartString не найден 0
Примеры
Dim intDemo как целое число
intDemo = InStr(«Вселенная вечна», «есть»)
MsgBox intDemo
intDemo = InStr(4, «Вселенная вечна», «e»)
MsgBox intDemo
Это, конечно, найдет только первое вхождение , чтобы заменить каждое вхождение в одной строке в другой, нам нужна рекурсивная функция, подобная этой:
Общедоступная функция FindAndReplace(ByVal strText As String, _
ByVal strНайти как строку, _
ByVal strReplaceWith As String) As String
'Цель: Найти и заменить строку
'
'Используйте более быстрые функции left$, right$, а не left() и Right().