![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2007 - [решено] Excel Выбрать записи по заданному столбцу с другого листа |
|
2007 - [решено] Excel Выбрать записи по заданному столбцу с другого листа
|
Пользователь Сообщения: 70 |
Есть таблица с множеством записей.
Примерную структуру приложил в примере. На первом листе Данные Исходный набор данных. Меня интересует Столбец Имя. Данные в столбце не уникальны, повторяются. Мне нужно по условиям отбора на втором листе отфильтровать в данных те строки которые содержат условия отбора. В данном файле всего два условия отбора, но их может быть пару десятков. На третьем листе Пример что хочу получить. Пробовал через Данные - Фильтр -Дополнительно Что то не получается. |
|
Отправлено: 09:04, 21-02-2018 |
Динохромный Сообщения: 712
|
Профиль | Отправить PM | Цитировать surgutfred, на форуме обсуждалась похожая тема с удобным решением 2010 - [решено] Фильтр таблицы по стороннему столбцу с данными Excel пост 7.
Посмотрите, если решение вас не устроит или появятся вопросы - отпишитесь. |
Отправлено: 09:46, 21-02-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать a_axe, это удобно когда у тебя 2-3 условия для фильтра, а у меня список условий для отбора до 100 может быть, данный инструмент не удобен
|
Отправлено: 10:17, 21-02-2018 | #3 |
Динохромный Сообщения: 712
|
Профиль | Отправить PM | Цитировать Цитата surgutfred:
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2").Resize(Range("A2").CurrentRegion.Columns.Item(1).Rows.Count-1)) Is Nothing Then On Error Resume Next Sheets.Item("Данные").ShowAllData Sheets.Item("Данные").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion End If End Sub |
|
Последний раз редактировалось a_axe, 21-02-2018 в 16:10. Причина: Опечатка Отправлено: 10:37, 21-02-2018 | #4 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать a_axe, Спасибо, то что нужно, только вместо Sheets.Item("Данные"). сделал Sheets(1).Range("A1") т.к. имя листа постоянно по дате меняется.
Единственное неудобство, когда очищаешь условие отбора, он задумывается в попытке обработать, курсор крутится. Esc спасает, но может есть вариант не обрабатывать событие, если нет введенных условий? |
|
Отправлено: 14:02, 21-02-2018 | #5 |
Динохромный Сообщения: 712
|
Профиль | Отправить PM | Цитировать Цитата surgutfred:
В коде ниже фильтр убирается, если в А2 вбить значение "Все", пробуйте. Private Sub Worksheet_Change(ByVal Target As Range) Dim shtObj As Worksheet Set shtObj = Sheets.Item(1) If Not Intersect(Target, Range("A2").Resize(Range("A2").CurrentRegion.Columns.Item(1).Rows.Count - 1)) Is Nothing And Range("A1").CurrentRegion.Rows.Count > 1 Then On Error Resume Next shtObj.ShowAllData shtObj.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion End If If LCase(Range("A2").Value) = "все" Then shtObj.ShowAllData Set shtObj = Nothing End Sub |
|
------- Отправлено: 15:05, 21-02-2018 | #6 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать a_axe, спасибо, тогда проще ESC жать
|
Отправлено: 15:08, 21-02-2018 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2010 - [решено] Фильтр таблицы по стороннему столбцу с данными Excel | Amshferm | Microsoft Office (Word, Excel, Outlook и т.д.) | 7 | 24-06-2016 15:39 | |
2013 - excel Скопировать таблицы в начало другого листа | Alexander_88 | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 22-10-2015 11:25 | |
2013 - Ссылка на ячейки другого листа, с возможностью изменения порядка ячеек | btescm | Microsoft Office (Word, Excel, Outlook и т.д.) | 5 | 04-09-2014 23:16 | |
Разное - Сортировка по столбцу в Excel 2007-10 | alef2474 | Microsoft Office (Word, Excel, Outlook и т.д.) | 5 | 20-02-2014 14:54 | |
VBA - [решено] Разбор листа Excel по строкам в отдельные файлы | Debugger | Программирование и базы данных | 3 | 14-03-2012 15:46 |
|