VBA
Поиск в строках для наличия подстрок
Поиск…
замечания
Когда вам нужно проверить наличие или позицию подстроки внутри строки, VBA предлагает функции InStr
и InStrRev
которые возвращают позицию символа подстроки в строке, если она присутствует.
Используйте InStr, чтобы определить, содержит ли строка подстроку
Const baseString As String = "Foo Bar"
Dim containsBar As Boolean
'Check if baseString contains "bar" (case insensitive)
containsBar = InStr(1, baseString, "bar", vbTextCompare) > 0
'containsBar = True
'Check if baseString contains bar (case insensitive)
containsBar = InStr(1, baseString, "bar", vbBinaryCompare) > 0
'containsBar = False
Используйте InStr, чтобы найти позицию первого экземпляра подстроки
Const baseString As String = "Foo Bar"
Dim containsBar As Boolean
Dim posB As Long
posB = InStr(1, baseString, "B", vbBinaryCompare)
'posB = 5
Используйте InStrRev, чтобы найти позицию последнего экземпляра подстроки
Const baseString As String = "Foo Bar"
Dim containsBar As Boolean
'Find the position of the last "B"
Dim posX As Long
'Note the different number and order of the paramters for InStrRev
posX = InStrRev(baseString, "X", -1, vbBinaryCompare)
'posX = 0
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow