![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 02.01.2010
Сообщений: 4
|
![]()
Здравствуйте.
Подскажите, пожалуйста, текст макроса, осуществляющий: 1 поиск во всех столбцах по всем листам книги 2 искомый текст - код запчасти, вводится через форму 3 результат (все строки, содержащие искомый текст) выводится на новый лист этой книги При этом: - Количество листов непостоянно; - В искомый код запчасти необходимо вставлять знак "-" после пятого символа и вести поиск двух строк - введенной в форму и преобразованной вставкой тире; - В результирующем листе все строки с найденными исходными текстами начинались бы с ячейки, содержащей имя листа, где эта строка нашлась. Можно имя листа заменить на гиперссылку на искомую строку в "родительском" листе (что было бы намного лучше) Заранее Всем ОГРОМНОЕ СПАСИБО!!! Последний раз редактировалось Svap; 02.01.2010 в 18:15. |
![]() |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
я как прочитал тему заинтересовался - не надо ли случайно для поиска выходить за пределы вселенной (ну, так..., чтобы везде).
Как поискать на листе знаете? (не знаете сделайте это вручную и запишите рекордером свои действия). То что рекордер запишет для конкретного листа вставьте в цикл по листам, поправьте чуть-чуть - вот задача и решена Успехов!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 02.01.2010
Сообщений: 4
|
![]()
Пока ума хватило только вот на это:
Sub Макрос3() Search = InputBox("Введите код детали", "Поиск запчасти") If Search = "" Then Exit Sub Cells.Find(What:=Search, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate ActiveCell.EntireRow.Copy Sheets.Add ActiveSheet.Paste End Sub Но: 1 ищется только первое вхождение искомой строки и как зациклить на все листы книги? 2 как сделать так, чтобы поиск искал два кода детали - введенный в форму код, например "1234567890", и этот же код но с тире после 5-го символа, например "12345-67890"? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]() ![]() А далее Вы решите как применять ![]()
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#5 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Вот вам макрос для всех листов:
Код:
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 02.01.2010
Сообщений: 4
|
![]()
Н-да... Оказывается не перевелись добрые волшебники в наше время.
![]() Благодарности EducatedFool'у за все и doober'у за метод внедрения тире в строку поиска PS. Как много людей, которым не дает покоя нереализованные детские грезы о далеком космосе ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сделать так, чтобы в DBGrid выводилась таблица Excel | Илюха | БД в Delphi | 10 | 06.05.2010 15:59 |
Как сделать так чтобы дружбан начал... | VintProg | Свободное общение | 31 | 22.08.2009 10:51 |
Как в Битриксе сделать так, чтобы | mulatka | Помощь студентам | 0 | 09.06.2009 22:36 |
Как сделать так чтобы dBCOMBOBOX...... | Gareevbo | Общие вопросы Delphi | 1 | 08.06.2009 19:59 |
Как сделать программу, чтобы она запускалась везде? | grenles | Общие вопросы C/C++ | 3 | 11.06.2008 21:10 |