|
|
|
Как осуществить поиск нескольких значений по Excel одним запросом Find?
|
|||
|---|---|---|---|
|
#18+
Как можно осуществить поиск нескольких значений по ячейкам 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) Как это можно сделать одним махом? Может есть возможность как-нибудь решить используя регулярные выражения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2009, 13:04:53 |
|
||
|
Как осуществить поиск нескольких значений по Excel одним запросом Find?
|
|||
|---|---|---|---|
|
#18+
supervk, "2.2" просто почему не подходит? попробуйте поставить 4й аргумент не 1, а 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2009, 21:35:45 |
|
||
|
Как осуществить поиск нескольких значений по Excel одним запросом Find?
|
|||
|---|---|---|---|
|
#18+
_slan_supervk, "2.2" просто почему не подходит? попробуйте поставить 4й аргумент не 1, а 2 Тогда найдется ячейка 2.25 и 32.2, а врядли это то, что нужно :) supervkКак это можно сделать одним махом? Может есть возможность как-нибудь решить используя регулярные выражения? Регулярные выражения во встроенном поиске Excel пока не используются (в Word уже есть некое подобие РВ). Если использовать РВ через библиотеку vbScript, то придется перебирать все ячейки. Может проще предварительно одним ударом уничтожить все пробелы в искомом диапазоне? Код: plaintext 1. 2. 3. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2009, 03:14:49 |
|
||
|
Как осуществить поиск нескольких значений по Excel одним запросом Find?
|
|||
|---|---|---|---|
|
#18+
KL (XL)Регулярные выражения во встроенном поиске Excel пока не используются (в Word уже есть некое подобие РВ). Если использовать РВ через библиотеку vbScript, то придется перебирать все ячейки. Почему-то после сотни-другой переборов переборы начинают сильно тормозить. В итоге несколько поисков работают значительно быстрее. KL (XL)Может проще предварительно одним ударом уничтожить все пробелы в искомом диапазоне? Код: plaintext 1. 2. 3. [MVP - Microsoft Excel] Не выйдет, 1) потому что в искомом диапазоне многие значения вычисляются формулами 2) в искомом диапазоне могут присутствовать другие значения, которые нельзя менять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2009, 04:11:24 |
|
||
|
Как осуществить поиск нескольких значений по Excel одним запросом Find?
|
|||
|---|---|---|---|
|
#18+
KL (XL)_slan_supervk, "2.2" просто почему не подходит? попробуйте поставить 4й аргумент не 1, а 2 Тогда найдется ячейка 2.25 и 32.2, а врядли это то, что нужно :) ну если так, то после нахождения проверить на пробел - быстрее будет, чем несколько поисков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2009, 14:28:59 |
|
||
|
Как осуществить поиск нескольких значений по Excel одним запросом Find?
|
|||
|---|---|---|---|
|
#18+
supervk, Здравствуйте. Не могли бы вы выложить полный код подключения и поиска. Я начинающий. и Поэтому у меня много вопросов возникает. Будет легче если я просто поковыряюсь в рабочем коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 10:00:45 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=35870189&tid=2179575]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 333ms |

| 0 / 0 |
