|
|
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Подскажите, пож-та, как можно оптимизировать поиск определенных ячеек по столбцу B с помощью макроса. Критерий поиска - наличие в ячейке 4-х нужных слов/выражений (в данном случае "Узлы", "трубопроводов", "32 мм", 4,0 мм". Если ячейка найдена, то значение из столбца D копируется в столбец F. У меня пока вот так только получается, но макрос какой-то неудобный и громоздкий в редактировании (если его переделывать для других критериев поиска). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 18:39 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Zerat, так редактировать будет несколько удобнее. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:29 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Зато плюсы варианта с запросом - можно задавать исходный массив из ячеек отдельного листа; задать условия соеденения не только AND; прогнать процедуру циклом по нескольким условиям сделав отбор, например, сразу в несколько столбцов, или делать обработку только "отмеченных" условий... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:34 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
А может формула сойдет? для ячейки F5 формула массива (вводится нажатим Ctrl+Shift+Enter): Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:34 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
OFFAndreTM,авторЗато плюсы ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 19:50 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
скукотища, Ага... на это и был намёк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 20:54 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
скукотищаZerat, так редактировать будет несколько удобнее. Минус этого варианта - число в столбце F сохраняется как текст. Спасибо за код! Правда для меня не понятен принцип его действия, но главное что он работает. Не понятно, где в коде можно менять ячейки куда нужно скопировать числа, т.е. допустим не Cells(i, 6) = Cells(i, 4), а Cells(i, 8) = Cells(i, 4)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 12:05 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Михаил Ч.А может формула сойдет? для ячейки F5 формула массива (вводится нажатим Ctrl+Shift+Enter): Код: plaintext Спасибо, но слишком большие таблицы нужно обрабатывать. Не очень удобно формулы протягивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 12:06 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Zerat, Не понятно, где в коде можно менять ячейки куда нужно скопировать числа, т.е. допустим не Cells(i, 6) = Cells(i, 4), а Cells(i, 8) = Cells(i, 4)? Код: plaintext 1. 2. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 19:05 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
скуоктища Код: plaintext 1. 2. Код: plaintext 1. 2. так я пробовал, но он выдает ошибку - ругается на строку Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 20:51 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Zerat, таблицу с данными тоже надо изменить Код: plaintext 1. 2. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 20:56 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
скукотища, все равно ругается на ту же строчку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 21:16 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Zerat, 1. какими именно словами ругается ? 2. поставьте в поцедуре точку останова на строке Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 21:21 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
...должно быть Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 21:26 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Zerat, ошибка: "отсутствует значение для одного или нескольких требуемых параметров" решение: записать хоть что-нибудь в любую строку столбца H ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 21:36 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
скукотища, в итоге получается сложнее, чем у меня. Хотелось бы что-н. попроще. А то уходим в дебри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 19:11 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Zerat, увы и ах. У меня проще никогда не получалось :( Может для поиска нужных строк Вам подойдёт расширенный фильтр ? В меру гибок, достаточно проворен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 21:51 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
сделал из двух :)) будет работать шустро.... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 01:54 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
R Dmitry, спасибо большое! Очень классно получилось. Хотелось именно чего-н. такого универсального. Т.е. здесь можно и количество слов для поиска разное вводить, и в разные столбцы результаты копировать. Вот еще вопрос. Захотелось немного адаптировать код: т.е. допустим если единица измерения (3-й столбец) "т" - то результаты копировать в столбец G, а если "м" - то в столбец H. Для этого добавил Else и повторил ту же процедуру. У меня вот что получилось: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Код работает, но кажется он сам по себе громоздкий) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 16:19 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Zerat, наверное снова усложняю... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 17:46 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Да чего там усложнять... В принципе, ТСу достаточно было изучить, как правильно формировать SQL-запрос. Его ведь можно сформировать и прямо в любой ячейке, а скрипту просто передать параметром... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 22:45 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
AndreTMДа чего там усложнять...Вроде бы всё просто, как двери. Но на грабли я-таки наступил. При попытке выполнить запрос на обновление ячеек, не входящих в .UsedRange. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 04:39 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
скукотищаZerat, наверное снова усложняю... спасибо, получилось еще более универсально. Т.е. можно теперь искать по нескольким условиям в различных столбцах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 07:10 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Ну а такой вариант? Есть пара условностей - последовательность слов должна соблюдаться, и отбор идёт по "т" или любое другое значение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Отбор по "т" можно и нарастить добавлением переменных, но не хотелось усложнять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 01:18 |
|
||
|
Поиск нескольких слов в ячейке
|
|||
|---|---|---|---|
|
#18+
Ну или если так разбить по словам (можно и Instr() использовать), то легко поменять на анализ по разным словам и в разных столбцах. И порядок слов уже роли не играет. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 09:21 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=37445525&tid=2176257]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
166ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 487ms |

| 0 / 0 |
