powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как осуществить поиск нескольких значений по Excel одним запросом Find?
7 сообщений из 7, страница 1 из 1
Как осуществить поиск нескольких значений по Excel одним запросом Find?
    #35867274
supervk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как можно осуществить поиск нескольких значений по ячейкам Excel одним запросом?

Подключаюсь к Excel через OLE ("Excel.Application"). Надо найти ячейку с заданным значением. Ньюанс: у значения ячейки могут быть как лидирующие, так и окончательные пробелы. Т.е. если надо найти "2.2", то под условия поиска попадают как "2.2", " 2.2", так и " 2.2 ", так и "2.2 ".
На данный момент мне приходится запускать последовательно четыре поиска:

Find(SearchValue, Range.Cells(1, 1), -4123, 1, 1, 1, 0, 0)
Find(" " + SearchValue, Range.Cells(1, 1), -4123, 1, 1, 1, 0, 0)
Find(SearchValue + " ", Range.Cells(1, 1), -4123, 1, 1, 1, 0, 0)
Find(" " + SearchValue + " ", Range.Cells(1, 1), -4123, 1, 1, 1, 0, 0)

Как это можно сделать одним махом? Может есть возможность как-нибудь решить используя регулярные выражения?
...
Рейтинг: 0 / 0
Как осуществить поиск нескольких значений по Excel одним запросом Find?
    #35870189
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
supervk, "2.2" просто почему не подходит? попробуйте поставить 4й аргумент не 1, а 2
...
Рейтинг: 0 / 0
Как осуществить поиск нескольких значений по Excel одним запросом Find?
    #35870390
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slan_supervk, "2.2" просто почему не подходит? попробуйте поставить 4й аргумент не 1, а 2
Тогда найдется ячейка 2.25 и 32.2, а врядли это то, что нужно :)

supervkКак это можно сделать одним махом? Может есть возможность как-нибудь решить используя регулярные выражения?
Регулярные выражения во встроенном поиске Excel пока не используются (в Word уже есть некое подобие РВ). Если использовать РВ через библиотеку vbScript, то придется перебирать все ячейки. Может проще предварительно одним ударом уничтожить все пробелы в искомом диапазоне?

Код: plaintext
1.
2.
3.
    MyRange.Replace _
        What:=" ", _
        Replacement:="", _
        LookAt:=xlPart


KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Как осуществить поиск нескольких значений по Excel одним запросом Find?
    #35870397
supervk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KL (XL)Регулярные выражения во встроенном поиске Excel пока не используются (в Word уже есть некое подобие РВ). Если использовать РВ через библиотеку vbScript, то придется перебирать все ячейки.
Почему-то после сотни-другой переборов переборы начинают сильно тормозить. В итоге несколько поисков работают значительно быстрее.

KL (XL)Может проще предварительно одним ударом уничтожить все пробелы в искомом диапазоне?
Код: plaintext
1.
2.
3.
    MyRange.Replace _
        What:=" ", _
        Replacement:="", _
        LookAt:=xlPart
KL
[MVP - Microsoft Excel]
Не выйдет, 1) потому что в искомом диапазоне многие значения вычисляются формулами 2) в искомом диапазоне могут присутствовать другие значения, которые нельзя менять
...
Рейтинг: 0 / 0
Как осуществить поиск нескольких значений по Excel одним запросом Find?
    #35871631
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)_slan_supervk, "2.2" просто почему не подходит? попробуйте поставить 4й аргумент не 1, а 2
Тогда найдется ячейка 2.25 и 32.2, а врядли это то, что нужно :)




ну если так, то после нахождения проверить на пробел - быстрее будет, чем несколько поисков
...
Рейтинг: 0 / 0
Как осуществить поиск нескольких значений по Excel одним запросом Find?
    #35937804
Vad-Komarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
supervk, Здравствуйте. Не могли бы вы выложить полный код подключения и поиска. Я начинающий. и Поэтому у меня много вопросов возникает. Будет легче если я просто поковыряюсь в рабочем коде.
...
Рейтинг: 0 / 0
Как осуществить поиск нескольких значений по Excel одним запросом Find?
    #35938097
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
supervk, данные для посика в одном столбце?
Вы не думали подключаться через OLE DB? И делать запрос?
Что-то типа
WHERE столбец='2.2' OR столбец=' 2.2' и .т.д.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как осуществить поиск нескольких значений по Excel одним запросом Find?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]