Пошук в excel, макроси для excel

Напевно, ви стикалися з ситуацією, коли необхідно проводити пошук деякого значення по всій книзі Excel (шукати частковий збіг на всіх аркушах активної книги)

Штатними засобами Excel вивести поле для пошуку на панель інструментів не вдається, а викликати кожного разу діалогове вікно натисканням комбінації клавіш Ctrl + F не завжди зручно.

Досить ввести шуканий текст, і натиснути клавішу Enter, - і перед вами повний список всіх відповідних осередків з усіх листів книги.

Для переходу до знайденої осередку досить клацнути мишею на потрібному результаті - автоматично буде активований потрібний лист, і виділена шукана осередок.

Помістіть цю надбудову в папку автозавантаження Excel - і це поле буде з'являтися при кожному запуску програми.

Звичайно, функціональність цієї надбудови присутній і в Excel, - якщо в настройках пошуку вибрати опцію «Шукати в книзі»:

Пошук в excel, макроси для excel

Моя ж надбудова трохи спрощує роботу - не треба натискати зайві кнопки для типу Ctrl + F. і не треба вибирати область пошуку.

До того ж, при використанні надбудови, ви можете провести мишом (при натиснутій лівій кнопці) за результатами пошуку, - і Excel перегорне (виділить) всі знайдені осередки по черзі (у вбудованому пошуку Excel треба клацати на кожному результаті окремо)

  • тепер форма з результатами закривається після натискання Esc
  • при відсутності відкритої книги не виводиться порожня форма
  • панель інструментів не скидається до налаштувань "за замовчуванням" перед додаванням поля

Щодо сортування, - треба більш докладний опис, що і як має працювати.
За ціною, - я беру замовлення на суму від 1000 рублів.
Вікно пошуку яке повинно з'являтися?
Форма з одним довгим текстовим полем?

Призначити макросу комбінацію клавіш Ctrl + F, - без проблем.

А за рішення дуже дякую, особливо сподобалося скрол по книзі з ЛФМ з результатів пошуку.

Так. Вікно результатів переналаштував під себе.

Зробити можна, - тільки це помітно ускладнить код (вбудований в Excel пошук тут не підійде)
Якщо готові оплатити доопрацювання, - зроблю.

Привіт, Павло.
Можете самі доопрацювати - код відкритий, робіть з ним що завгодно.
Якщо самі не розберетеся, - завжди є можливість замовити доопрацювання (не безкоштовно)

Тобто у мене список великий в 2 колонки, умовно в першому назву товару, у другому регіон з якого ми його поставляємо.

Хотілося б, що б в результаті в результаті пошуку мені якраз показував інф. про регіон походження цього товару :) сподіваюся я зрозуміло виклав свої думки. І чи можу я сам як то доопрацювати до мого бачення?

Завчасно дякую за відповідь!

Так, я сам не там дивився. Все там редагується. Змінив, що було потрібно і напис з'явився. Але були виявлені деякі незручності в роботі.
Перше - чи є можливість прокрутки списку знайденого колесом миші?
Не завжди зручно лівою кнопкою водити і не завжди точно.
Друге - чи є можливість при повторному натисканні на форму зробити так, що б попередній запис віддалялася відразу? Або взагалі, що б віддалялася відразу після виведення результатів пошуку (це навіть краще). Інакше остання пошукова фраза по-перше бовтається там без справи, по-друге всім видно хто поруч (це не айс знати всім, що я там шукав). По-третє подвійним клацанням вся напис не виділяється і доводиться її виділяти вручну і видаляти. По-четверте не оперативно в роботі. Хочеться натиснути на форму, внести дані і знайти, а не спочатку видаляти стару запис, а потім вводити нову.

Код, взагалі-то, не закрите.

Додати слово «пошук» перед полем - нескладно, а ось зробити поле кольоровим - проблематично (треба використовувати WinAPI, оскільки у комбобокса на панелі інструментів немає таких властивостей, як колір фону)

Щоб додати слово «пошук»,
замініть

І змініть процедуру Workbook_Open наступним кодом:

Схожі статті