|
|
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
Всем привет. Имеется лист. Первая строка у него закреплена, а все данные таблицы начинаются со второй строки. Как сделать чтобы при введении в ячейку "A1" какого либо выражения происходил поиск по колонке "A" с условим если в колонке "A" встречается выражение из ячейки "A1", то курсор должен переместиться на эту строку, где произошло совпадение? Подобный поиск я осуществил на форме с использованием элементов ListBox и TextBox Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Точно такой же поиск я хочу сделать, но только в роли ListBox должен выступить диапазон ячеек, а в роли TextBox ячейка A1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 12:52 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
Это вставляете в модуль листа, где нужно осуществлять поиск? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 13:34 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
MaximuS_GЭто вставляете в модуль листа, где нужно осуществлять поиск? Здесь знак вопроса не нужен, случайно добавил. Код нужно вставить в модуль листа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 13:36 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
Зачем же делать цикл? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 13:48 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
При попытке ввести значения в Range("A1") курсор улетает в самый конец списка, где ячейка пустая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 13:51 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
Зачем же делать цикл? Range("A2:A65536").Find (Range("A1"),,,xlWhole).Select если нужно искать совпадение текста по части ячейки то параметр xlWhole, заменить на xlPart ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 13:56 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
DeggasadЗачем же делать цикл? Range("A2:A65536").Find (Range("A1"),,,xlWhole).Select если нужно искать совпадение текста по части ячейки то параметр xlWhole, заменить на xlPart А-а-а, не знал что так можна :)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 13:57 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. Не получается изменить значение Range("A1"), т.к. курсор сразу перепрыгивает на найденную ранее ячейку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:09 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
2 andMegaM Зачем Вы убрали кусочек моего кода: Код: plaintext 1. 2. 3. andMegaM...но ввести другое выражение не получается. При использовании выше приведенного кусочка кода, выделяя ячеки А1 и А2 одновреммено, есть возможность через строку вводу (там где формулы отображаются) ввести новое значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:28 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
Перемещение курсора происходит только если значение в Range("A1") полностью совпадает с каким-либо значением из Range("A2:A65536"). И всеравно это не то что требуется. Может я не понятно поставил задачу... Мне нужно чтобы при введении в Range("A1") происходил моментальный поиск в Range("A2:A65536") и при нахождении сочетания символов происходила прокрутка листа на то значение, где оно встречается. Допустим имеется список городов: .... Салехард Самара Саранск Саратов .... т.е если в Range("A1") я ввожу сочетание "Са", то лист должен прокрутиться до значения "Салехард" если в Range("A1") я ввожу сочетание "Сар", то лист должен прокрутиться до значения "Саранск" при этом курсор должен оставаться в Range("A1") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:53 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
andMegaM, Можно попробовать так: Private Sub Worksheet_Change(ByVal Target As Range) If Target = [a1] Then On Error Resume Next [A2:A65536].Find([a1], , , xlPart).Select On Error GoTo 0 [a1].Select End If End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 16:37 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
_Boroda_ Это уже похоже на правду. Спасибо. Но этот код ищет вхождение в любой части выражения и находит первое попавшееся, т.е. если перевести на sql запросы работает оперптор LIKE '%выражение%' Мне надо чтобы поиск происходил если введенное выражение совпадает с начальными символами искомого текста. т.е. если перевести на sql запросы работает оперптор LIKE 'выражение%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 17:09 |
|
||
|
Поиск значения в таблице
|
|||
|---|---|---|---|
|
#18+
andMegaM, то же самое, только [A2:A65536].Find([a1] & "*", , , xlWhole).Select ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 17:19 |
|
||
|
|

start [/forum/topic.php?fid=61&gotonew=1&tid=2178908]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 477ms |

| 0 / 0 |
