Фильтр поиска

Автор Посетитель 16.08.2023, 16 августа 2023, 16:57

Посетитель 16.08.2023

Извиняюсь, не тот вставил
 'Выполняет поиск на листе "Поиск"
Sub КнопкаНайти()
'
' КнопкаНайти Макрос
' Запускает поиск (Лист(Поиск)ячейкаВ3).
'
' Сочетание клавиш: Ctrl+q
'
End Sub

Администратор

Но здесь нет кода, значит никакого макроса "Найти" у вас сейчас нет?

Посетитель 16.08.2023

Я ввожу текст в ячейку В3 и нажимаю Энтер, производится поиск.
Я включил запись макроса, потом нажал Энтер (в ячейке В3) и остановил запись макроса. После этого назначил этот макрос для кнопки "Найти".
Как прописать код грамотно я не знаю. Поэтому сделал по самому легкому пути.

Администратор

Но сейчас же кнопка "Найти" вообще ничего не ищет.

Посетитель 16.08.2023

Да, согласен. Нужно было назвать "Энтер"

Посетитель 16.08.2023

Попробуйте ввести "груши" и нажать кнопку "Найти", выпадут только "груши".

Администратор

Да, увидел, значит что-то рабочее есть у вас.

Обратите внимание, что на листе "Лист1" у вас две умные таблицы. Вторая начинается со столбца C. Вы это специально сделали или случайно получилось?

Администратор

Написал вам два письма на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.

Форму UserForm1 я удалил из файла, чтобы было проще. Потом можете обратно её вставить.
В модуле "Module3" я переименовал процедуру.
На листе "Лист1" сделал кнопку в D2 "Выбрать столбец".
Код макроса находится в UserForm2.
На листе "Лист2" в A3, M3, N3 я упростил формулу - убрал функцию ПОИСК, т.к. в ней нет необходимости.
Макрос изменяет на листе "Лист2", формулы в A3, M3, N3. Т.к. используется умная таблица, то формула автоматически распространяется на весь столбец.

Администратор

внесены изменения в макрос, в формулы и я изменил описание в сообщении

Посетитель 16.08.2023

То что надо!!! Спасибо вам большое!!

Посетитель 16.08.2023

Добрый день! Я ваш код для "Выбор столбца" перенес в другую точно такую же книгу ( только заголовки УТ другие), теперь не работает. Выделяет желтым строчку
Табл.DataBodyRange.Cells(1, 1).Formula = Left(Формула, Начало) & НазвСтолбца & Mid(Формула, Конец)
Можете, пожалуйста, глянуть, что опять не так.
В таблице на листе 2 некоторые строки скрыты.
Сделал новую таблицу потому, что после "опытов" с переносом кнопки таблица на листе 2вообще не заполнялась. При вводе данных в форму вместо того чтобы записывать в новую строку оно постоянно изменяло содержимое последний строки.

Администратор

1. Я формулу упростил: убрал функции ЕЧИСЛО, ПОИСК. В них нет необходимости - достаточно использовать знак равно. Смотрите файл в сообщении #22.
2. На форме у надписей (Label) на конце есть пробел. Для макроса фраза с пробелом и без пробела - разные. Макрос не видит заголовок и происходит ошибка.

Посетитель 16.08.2023

Заработало, спасибо