Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2018, 15:18   #1
GoreProgrammist
Пользователь
 
Регистрация: 13.07.2009
Сообщений: 52
По умолчанию Поиск в текстовых ячейках по словарю

Добрый день.

Дано 2 листа: "данные" и "словарь".

На листе "данные" в столбце T содержатся рукописные описания фин операций, нужно по значениям из столбца А листа "словарь" произвести нечувствительный к регистру поиск по ключевым словам. В случае нахождения искомого слова проставлять в столбец BB значение 1.

По аналогии с фильтром "содержит", но фильтром пользоваться не получается, потому что:

1) в данных содержатся пустые ячейки (разрывы)
2) словарь по которому нужно вести поиск состоит из десятка слов

Попробовал использовать чужой код, цикл там вроде рабочий, но завис на том что не могу изменить определение массивов в готовом макросе на массивы которые у меня на листах.

Размер таблицы около 100 000 строк, помогите пожалуйста двоечнику
Вложения
Тип файла: xlsx пример.xlsx (9.8 Кб, 12 просмотров)

Последний раз редактировалось GoreProgrammist; 09.04.2018 в 16:44.
GoreProgrammist вне форума Ответить с цитированием
Старый 09.04.2018, 19:53   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
'searchValue - ячейка в которой ищем совпадения
'searchArray - диапазон словаря
Function hasKeyWord(searchValue As Range, searchArray As Range)
    Dim cel As Range
    hasKeyWord = 0
    If searchValue.Cells.Count <> 1 Then
        hasKeyWord = 0
        Exit Function
    End If
    For Each cel In searchArray
        If InStr(LCase(searchValue), LCase(cel)) <> 0 Then
            hasKeyWord = 1
            Exit Function
        End If
    Next
End Function
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск значений по всем листам и вывод их в отдельных ячейках. alekseev1 Microsoft Office Excel 0 28.02.2018 14:32
Цикл for each и if then (поиск текста в ячейках) ТРИУМФ Microsoft Office Excel 2 23.06.2014 08:47
Сравнение текстовых значений в подтягиваемых ячейках Alexander Shurov Microsoft Office Excel 12 14.11.2012 08:06
Поиск по маске данных в ячейках Excel Milo4ka_Lucy Microsoft Office Excel 17 15.07.2010 17:38
Поиск и замена части формулы в ячейках mixaxa Microsoft Office Excel 4 02.06.2010 12:59