![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]()
Как макросом организовать Поиск по нажатию Энтер
Сама задача. У меня в Лист14 в столбце А, 8-ми значные, положительные числа, по колонке передвигаюсь стрелками. Нужно -стал на любом числе, нажал Энтер и макрос "перебросил меня" на тот Лист из 13 -ти в столбец К(только там может быть) это число. Аналог Ctrl + F, только там, много действий, моя бабушка не может эту услугу применить |
![]() |
![]() |
#2 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
![]() Сейчас подумаем, что можно сделать... Может, всё же договоримся насчёт какой-либо другой кнопки? Ну, типа F8 ... F12. Будет намного проще. Клавиша Enter не предназначена для запуска макросов... То есть, конечно, макрос можно прицепить и на неё, Код:
Цитата:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 25.01.2009 в 22:24. |
||
![]() |
![]() |
#3 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]()
На тот лист(из 13), где будет это число, оно, значение числа, может быть только одно и только в кол. К
Ну как в Ctrl + F, набираем число, ставим в параметрах в книге, найти все Почему, Энтер, все таже бабушка, хорошо знает эту клавишу, давай пробел или F12 Последний раз редактировалось valerij; 25.01.2009 в 22:46. |
![]() |
![]() |
#4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
![]() ![]() ![]() С таким уровнем её знаний тебе до конца жизни придётся писать всё новые и новые макросы. Вставь код в любой модуль. Запусти один раз МакросДляБабушки. При нажатии пробела на ячейке в столбце А листа 14, если в этой ячейке находится 8-значное число, будет произведён переход на первую найденную ячейку в столбцах К листов с 1 по 13. Код:
|
|
![]() |
![]() |
#5 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]() Цитата:
Все разобрался, все ОК Тупо скопировал код, даже не взглянул на Application.OnKey " ", "ПоискЗначенияНаДругихЛистах" Последний раз редактировалось valerij; 25.01.2009 в 23:24. |
|
![]() |
![]() |
#6 | ||
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
![]() Цитата:
Цитата:
![]() Улыбнуло от души ![]()
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах ![]() |
||
![]() |
![]() |
#7 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]()
Это не шутки ради для тех кто не в курсе, почему все так!
Работает у меня, моя близкая родственница ей 79 лет, ПК никогда в жизни не видела, но уже два года под ХР!!! Игорь все ОК! А скажи мона чуть сузить диапазон, не всю коллонку К, а только в К34:К39 с шагом 51 ?? Делал так, не -а Код:
Последний раз редактировалось valerij; 26.01.2009 в 00:16. |
![]() |
![]() |
#8 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Можно написать так: Set ra = ThisWorkbook.Worksheets(i).[K34:K1600] вместо Set ra = ThisWorkbook.Worksheets(i).Columns( "K") - тогда будет чуточку быстрее. А вот перебирать в цикле отдельные участки ячеек из столбца К, или же сначала формировать диапазон, содержащий в себе эти поддиапазоны, - не лучший способ. (отрицательно скажется на производительности кода) Да и зачем? Я ведь проверял макрос - отрабатывает он моментально. Даже если бы поиск занимал в 100 раз больше времени - бабушка всё равно бы ничего не успела заметить ![]() PS: Предупреждаю - есть вероятность того, что этот макрос осложнит тебе жизнь... Наверняка те восьмизначные числа, поиск которых осуществляет макрос, не являются уникальными в рамках книги. Представь, что будет, если бабушка таким образом попадёт не на нужное число, а на такое же в другой строке другого листа, и что-нибудь там наизменяет... Потом без бутылки не разобраться будет.
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 26.01.2009 в 00:46. |
|
![]() |
![]() |
#9 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]() Цитата:
Игорь, бог с этим, я ей разъясню какие числа надо ТАК, пробелом. искать! Как сделать, что бы по центру моника был найденный результат поиска! Последний раз редактировалось valerij; 26.01.2009 в 01:07. |
|
![]() |
![]() |
#10 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Код:
(на строке For j = 1 To 30: Set ra = Union(ra, ra.Offset(j * 51)): Next j ) Можно, в принципе, не объединять диапазоны, а 30 раз подряд запускать Find на каждом листе, но сомневаюсь, что это увеличит скорость... И ещё, Валера, помни: с этого момента твои макросы ни в коем случае не должны вылетать с ошибками... Не дай бог перезапустится Excel, и МакросДляБабушки не сработает автоматически - твоя бабушка клавишей "пробел" позатирает весь твой файл, прежде чем до неё дойдёт, что что-то здесь не так... |
|
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
По нажатию Enter | Andr | Общие вопросы Delphi | 8 | 22.12.2008 16:58 |
Сортировка по нажатию кнопки | Nate-p | Microsoft Office Access | 2 | 25.06.2008 08:35 |
Рисование по нажатию клавиши на клавиатуре... | zvuk01 | Помощь студентам | 1 | 25.12.2007 17:49 |
Картинка появляется по нажатию кнопки! | MAKEDON | Общие вопросы Delphi | 3 | 12.12.2007 22:49 |
переход курсора по нажатию клавиши | matus | Общие вопросы Delphi | 3 | 22.11.2007 22:33 |