2016-11-24 2 views
-1

Я хочу сделать.excel vba Мне нужно найти определенный набор букв среди многих в одной ячейке

If Cells(1,1).Value = "XYZ" then 
    'something' 

Но в ячейке могут быть другие буквы. как ячейка [ZZZ XYZ YYY WWW]. Как я могу обойти это XYZ может быть где угодно в этой ячейке. только найдите этот конкретный порядок букв. И если его нет в этой конкретной ячейке, команда if не должна запускаться.

надеюсь, что кто-то может помочь.

ответ

1

Используйте вместо этого:

If InStr(Cells(1, 1), "XYZ") > 0 Then 
1
If Cells(1,1).value like "*XYZ*" Then 
    ... 
End If 

* обозначает любое количество символов. Вы также можете сделать одиночный символ с ?. Пример

"AXYZB" like "*XYZ*" 'is true 
"AXYZB" like "?XYZ?" 'is true 
"AZXYZBA" like "?XYZ?" 'is false 

вы также можете сделать между

"XYZ" like "X?Z" 'is true 
"XYYYZ" like "X*Z" 'is true