Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Фильтрация по нескольким словам одновременно - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Фильтрация по нескольким словам одновременно (Макросы/Sub)
Фильтрация по нескольким словам одновременно
Richman_85 Дата: Вторник, 16.02.2016, 19:44 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Добрый вечер друзья.
Необходима Ваша помощь. Есть список наименований компаний в столбце. Он очень большой порядка 500, 20 (он всегда одинаковый) из них мои, всегда мучаюсь, листая весь список в каждом файле ища эти компании. Существует ли такой код, чтобы этот список был допустим в коде макроса и через его запуск он сразу его фильтровал. Заранее всем спасибо за помощь.
 
Ответить
СообщениеДобрый вечер друзья.
Необходима Ваша помощь. Есть список наименований компаний в столбце. Он очень большой порядка 500, 20 (он всегда одинаковый) из них мои, всегда мучаюсь, листая весь список в каждом файле ища эти компании. Существует ли такой код, чтобы этот список был допустим в коде макроса и через его запуск он сразу его фильтровал. Заранее всем спасибо за помощь.

Автор - Richman_85
Дата добавления - 16.02.2016 в 19:44
_Boroda_ Дата: Вторник, 16.02.2016, 20:30 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А допстолбцом не подойдет?
К сообщению приложен файл: 6176797.xlsx(19Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА допстолбцом не подойдет?

Автор - _Boroda_
Дата добавления - 16.02.2016 в 20:30
Richman_85 Дата: Вторник, 16.02.2016, 20:56 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
_Boroda_,
А допстолбцом не подойдет?
К сообщению приложен файл: 6176797.xlsx(19Kb)

Нет, такого рода предложение уже поступало. Дело в том что при таком варианте придется каждый раз в получаемый файл вставлять формулы. Информация по компаниям приходят в разных файлах и разного рода. Далее по строкам идет инфа по каждой компании, необходимо чтобы она также фильтровалась с привязкой к компании.
 
Ответить
Сообщение_Boroda_,
А допстолбцом не подойдет?
К сообщению приложен файл: 6176797.xlsx(19Kb)

Нет, такого рода предложение уже поступало. Дело в том что при таком варианте придется каждый раз в получаемый файл вставлять формулы. Информация по компаниям приходят в разных файлах и разного рода. Далее по строкам идет инфа по каждой компании, необходимо чтобы она также фильтровалась с привязкой к компании.

Автор - Richman_85
Дата добавления - 16.02.2016 в 20:56
Richman_85 Дата: Вторник, 16.02.2016, 21:03 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Скидываю пример, может это поможет. Допустим, что из этого списка, мне необходимо фильтровать всегда только 2 компании.
К сообщению приложен файл: 9601777.xlsx(29Kb)
 
Ответить
СообщениеСкидываю пример, может это поможет. Допустим, что из этого списка, мне необходимо фильтровать всегда только 2 компании.

Автор - Richman_85
Дата добавления - 16.02.2016 в 21:03
_Boroda_ Дата: Вторник, 16.02.2016, 21:28 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Что-то типа такого нужно?
[vba]
Код
Sub Макрос10()
    ActiveSheet.Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).AutoFilter Field:=1, Criteria1:=Array( _
        "ООО Гермес", "ООО Глазурит", "ООО Миг"), Operator:=xlFilterValues
End Sub
[/vba]
Там, где названия в кавычках, можете дописать свои 20 штук
К сообщению приложен файл: 9601777_1.xlsm(17Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЧто-то типа такого нужно?
[vba]
Код
Sub Макрос10()
    ActiveSheet.Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).AutoFilter Field:=1, Criteria1:=Array( _
        "ООО Гермес", "ООО Глазурит", "ООО Миг"), Operator:=xlFilterValues
End Sub
[/vba]
Там, где названия в кавычках, можете дописать свои 20 штук

Автор - _Boroda_
Дата добавления - 16.02.2016 в 21:28
Richman_85 Дата: Вторник, 16.02.2016, 21:35 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
удалено администрацией

Да, отлично. Диапазон столбцов можно увеличить, на случай если вдруг столбец "компания" будет находится в другом столбце, необходимо будет переписывать код? Или же можно просто увеличить диапазон поиска?
[moder]Не нужно цитировать весь пост. Об этом есть в Правилах форума


Сообщение отредактировал _Boroda_ - Вторник, 16.02.2016, 21:47
 
Ответить
Сообщениеудалено администрацией

Да, отлично. Диапазон столбцов можно увеличить, на случай если вдруг столбец "компания" будет находится в другом столбце, необходимо будет переписывать код? Или же можно просто увеличить диапазон поиска?
[moder]Не нужно цитировать весь пост. Об этом есть в Правилах форума

Автор - Richman_85
Дата добавления - 16.02.2016 в 21:35
_Boroda_ Дата: Вторник, 16.02.2016, 21:50 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Диапазон столбцов можно увеличить
Нет, макрос захватывает все значимые столбцы и строки
если вдруг столбец "компания" будет находится в другом столбце

Field:=1 - номер столбца для фильтрации
К сообщению приложен файл: 9601777_2.xlsm(17Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Диапазон столбцов можно увеличить
Нет, макрос захватывает все значимые столбцы и строки
если вдруг столбец "компания" будет находится в другом столбце

Field:=1 - номер столбца для фильтрации

Автор - _Boroda_
Дата добавления - 16.02.2016 в 21:50
Richman_85 Дата: Вторник, 16.02.2016, 22:08 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
_Boroda_, А более грубый фильтр можно сделать? Если допустим будет не ООО Глазурит, а просто Глазурит, без ООО, в данном случае он не фильтрует данную компанию.
 
Ответить
Сообщение_Boroda_, А более грубый фильтр можно сделать? Если допустим будет не ООО Глазурит, а просто Глазурит, без ООО, в данном случае он не фильтрует данную компанию.

Автор - Richman_85
Дата добавления - 16.02.2016 в 22:08
Richman_85 Дата: Среда, 17.02.2016, 09:26 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
_Boroda_, Также, макрос работает во всем диапазоне только в том файле где он прописан, открываешь другой файл, работает фильтрация если переместить данный столбец в тот где он стоит в прописанном файле.
 
Ответить
Сообщение_Boroda_, Также, макрос работает во всем диапазоне только в том файле где он прописан, открываешь другой файл, работает фильтрация если переместить данный столбец в тот где он стоит в прописанном файле.

Автор - Richman_85
Дата добавления - 17.02.2016 в 09:26
_Boroda_ Дата: Среда, 17.02.2016, 09:59 | Сообщение № 10
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
работает фильтрация если переместить данный столбец в тот где он стоит в прописанном файле.
А Вы предполагали иначе? Тогда нужно было об этом написать и дать четкое определение того столбца, в котором нужен фильтр.
Если допустим будет не ООО Глазурит, а просто Глазурит
Просто добавьте еще и "Глазурит". Если бы Вы искали одно или два значения, то в автофильтре можно было бы написать "*глазурит*", а при множественном выборе так не прокатывает.
Короче, код вот такой
[vba]
Код
Sub Макрос10()
    If Selection.Columns.Count > 1 Then Exit Sub
    c_ = Selection.Column
    ActiveSheet.Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).AutoFilter Field:=c_, Criteria1:=Array( _
        "ООО Гермес", "ООО Глазурит", "Глазурит", "ООО Миг"), Operator:=xlFilterValues
End Sub
[/vba]
В файле встаете в любую ячейку того столбца, по которому нужен фильтр и запускаете макрос. Столбец должен быть выделен ОДИН, строк - сколько угодно.
К сообщению приложен файл: 9601777_3.xlsm(16Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
работает фильтрация если переместить данный столбец в тот где он стоит в прописанном файле.
А Вы предполагали иначе? Тогда нужно было об этом написать и дать четкое определение того столбца, в котором нужен фильтр.
Если допустим будет не ООО Глазурит, а просто Глазурит
Просто добавьте еще и "Глазурит". Если бы Вы искали одно или два значения, то в автофильтре можно было бы написать "*глазурит*", а при множественном выборе так не прокатывает.
Короче, код вот такой
[vba]
Код
Sub Макрос10()
    If Selection.Columns.Count > 1 Then Exit Sub
    c_ = Selection.Column
    ActiveSheet.Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).AutoFilter Field:=c_, Criteria1:=Array( _
        "ООО Гермес", "ООО Глазурит", "Глазурит", "ООО Миг"), Operator:=xlFilterValues
End Sub
[/vba]
В файле встаете в любую ячейку того столбца, по которому нужен фильтр и запускаете макрос. Столбец должен быть выделен ОДИН, строк - сколько угодно.

Автор - _Boroda_
Дата добавления - 17.02.2016 в 09:59
Richman_85 Дата: Среда, 17.02.2016, 10:21 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
_Boroda_, Преблагодарен Вам, спасибо тем выдающимся людям которые нам помогают.
Еще маленький вопрос, в наименовании компании есть слово в кавычках, пишет ошибку.
 
Ответить
Сообщение_Boroda_, Преблагодарен Вам, спасибо тем выдающимся людям которые нам помогают.
Еще маленький вопрос, в наименовании компании есть слово в кавычках, пишет ошибку.

Автор - Richman_85
Дата добавления - 17.02.2016 в 10:21
Апострофф Дата: Среда, 17.02.2016, 10:25 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 28 ±
Замечаний: 0% ±

Excel 2003
Например - ООО "Гермес"
Тогда удваиваем кавычки -
[vba]
Код
    ActiveSheet.Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).AutoFilter Field:=c_, Criteria1:=Array( _
        "ООО ""Гермес""", "ООО Глазурит", "Глазурит", "ООО Миг"), Operator:=xlFilterValues
[/vba]
 
Ответить
СообщениеНапример - ООО "Гермес"
Тогда удваиваем кавычки -
[vba]
Код
    ActiveSheet.Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).AutoFilter Field:=c_, Criteria1:=Array( _
        "ООО ""Гермес""", "ООО Глазурит", "Глазурит", "ООО Миг"), Operator:=xlFilterValues
[/vba]

Автор - Апострофф
Дата добавления - 17.02.2016 в 10:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Фильтрация по нескольким словам одновременно (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!