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().