Страницы: 1
RSS
Как проверить есть ли в строке число 5, а не цифра 5 в каком то числе
 
Всем всего доброго!
Имеем массив с текстовыми строками(stroki(u)), надо понять имеют ли строки числа из переменных a и b.
код:
for i=1 to ubound(stroki)
if stroki(i) like "*"+a+"*" and stroki(i) like "*"+b+"*" then
......

Помогите пожалуйста подправить, чтоб искалось число полностью. Например число 5(отделенную от текста пробелами), а не цифру 5 которая входит в другое число например 654.
 
А если искать не like "*"...,  а точно " 5 " (с пробелом)?
Excel непознаваем как атом.
 
Код
if (stroki(i) like "* "+cstr(a)+" *" OR stroki(i) like cstr(a)+" *" OR stroki(i) like "* "+cstr(a))_
and (stroki(i) like "* "+cstr(b)+" *" OR stroki(i) like cstr(b)+" *" OR stroki(i) like "* "+cstr(b)) then
Изменено: skais675 - 14.11.2017 12:41:42
 
Цитата
skais675 написал:
Код ? 12if (stroki(i) like "* "+cstr(a)+" *" OR stroki(i) like cstr(a)+" *" OR stroki(i) like "* "+cstr(a))_and (stroki(i) like "* "+cstr(b)+" *" OR stroki(i) like cstr(b)+" *" OR stroki(i) like "* "+cstr(b)) then
огромное СПАСИБО за помощь! Работает
 
ArtemSkudalov, лучше сформировать массив строк так, чтобы у них был пробел в начале и в конце. Но если это неудобно, то максимально эффективным, по-видимому, будет такой код
Код
Dim s As String, sa As String, sb As String
sa = " " & a & " "
sb = " " & b & " "
For i = 1 To UBound(stroki)
  s = " " & stroki(i) & " "
  If InStr(s, sa) Then
    If InStr(s, sb) Then
'действия
    End If
  End If
Next
 
Всем спасибо!
Страницы: 1
Читают тему
Наверх