Поиск элементов массива в текстовой строке

Данная функция позволяет определить, содержатся ли в текстовой строке элементы массива:

Function LikeAnItemOfArray(ByVal txt$, ByVal arr) As Boolean
    ' возвращает TRUE, если в строке txt$ содержится хоть один элемент из массива arr
    For Each Item In arr
        pos = pos + InStr(1, txt$, Item, vbTextCompare)
    Next
    LikeAnItemOfArray = pos > 0
End Function

Один из способов применения функции:

Sub ПримерИспользования_LikeAnItemOfArray()
    ' список слов, каждое из которых надо проверить на наличие в текстовой строке
    brands = Array("DAEWOO", "HYUNDAI", "KIA", "CHEVROLET", "SSANG", "ZAZ")
 
    ' строка, которую мы будем проверять на вхождение ключевых слов
    txt$ = "Дэу (Nexia, Espero) HYUNDAI (Elantra XD, Lantra II, Matrix, Santa FE, Sonata II, IV, Trajet) "
 
    Dim Результат As Boolean
    Результат = LikeAnItemOfArray(txt, brands)
End Sub

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Добрый день.

Прошу помочь разобраться с обработкой 2-мерного массива с помощью нескольких ComboBox.
Задача следующая.
По выбору значения из одного ComboBox в остальных ComboBox должны остаться только те значения, которые соответствуют совпадениям из массива по первому ComboBox.
Причем без повторений, без пробелов и в порядке возрастания (числа) или алфавитном (строки).
И желательно посадить это все в событие ComboBox1_Change(), чтоб сразу - без лишнего нажатия кнопки.
Соответственно, при выборе критерия во втором ComboBox с остальными происходило тоже самое.

Подскажите шаблончик. Спасибо.

При чем в массиве строк txt (а не просто значений). По частичному совпадению.

Ребят, подскажите, пожалуйста, как сделать, чтобы искал макрос не в строке (txt), а в массиве (array)? Заранее спасибо!

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
                            _   _       _             
__ _ _ __ __ __ | | | | | | _ __ ___
/ _` | | '__| \ \ /\ / / | | | | _ | | | '_ ` _ \
| (_| | | | \ V V / | |_| | | |_| | | | | | | |
\__,_| |_| \_/\_/ \___/ \___/ |_| |_| |_|
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.