Установление заданных значений в в [url=http://msexcel.ru/content/view/27/2/]_автофильтр_[/url]е

Автор sergo44441, 01.11.2011, 08:20

« назад - далее »

sergo44441

Подскажите, пожалуйста, как это сделать? На одном листе книги у меня список менеджеров и их офисов, на другом - массив данных. Необходимо для каждого менеджера сделать свой файл только с его данными. Подскажите, как с помощью макроса в _автофильтр_е поставить только офисы данного менеджера и, наоборот, выделить в фильтре все, кроме его данных, чтобы их удалить, и сохранить файл в нужном месте. Аналогично примеру, где представлены товары по менеджерам
Не торопись, и все успеешь намного быстрее

kuklp

Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

sergo44441

интересный вариант, но нужно глобальнее: у меня отчет , в котором несколько листов, с которыми нужно проделать подобные операции (оставить только те офисы, которые относятся к данному менеджеру). Соответственно, нужно на этих листах удалить прочие данные, обновить _сводные_ таблицы и сохранить отчет в папку с данным менеджером. (папка находится рядом с исходным отчетом). Очень нужно, вручную очень много времени уходит
Не торопись, и все успеешь намного быстрее

nilem

Ну тогда примерчик нужен с листами, сводными и пр.

PS Сергей (KuklP), сделай мне такую же кнопочку, а? Зеленую. :)

kuklp

Коль, вот те надстройка от EducatedFool, играйся как хочешь:-) Мона кнопу на панель - мона ctrl+shift+alt+B.
To sergo44441: поможем, давайте файл(собственно, дубляж поста Николая).
П. С. мы тезки? Или все же Серго?
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

sergo44441

Конечно, тезки. А Серго - так друзья в детстве часто называли, вот это имя и пришло к названию почтового ящика, а потом и логина на интернет-сервисах.
Прикладываю пример со сводными табличками и выборкой для них. (в одном файле может быть несколько источников сводных). А также пример для разделения по менеджерам.
Вручную делаю с помощью автофильтра (выделяю все, кроме нужных офисов для каждого менеджера, удаляю их и обновляю _сводные_). Очень нужен макрос для автоматизации процесса
Не торопись, и все успеешь намного быстрее

kuklp

М-да. Тут еще догадайся, как надо:-) Ну если чего не так, по аналогии разберетесь.
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

sergo44441

Здорово, Очень хорошая мысль, вы очень помогли, а можно еще несколько комментариев в макросе, что как работает?
Не торопись, и все успеешь намного быстрее

kuklp

Я в общем... комментатор из меня тот еще. Ну, смотрите. Да, вот еще:
Цитироватьвыделить в фильтре все, кроме
можно так в новых версиях
   a = Application.Transpose(ws.Range(ws.[i2], ws.[i1].End(xlDown)).Value)
' берем в массив всех менеджеров преобразуя на лету массив в одномерный
   b = Filter(a, "Иванов", False, vbTextCompare)
' а так отбираем всех, кроме Иванова. Важно объявить массив b, как строковый: Dim b$()
дальше можем этот массив скармливать _автофильтр_у.
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

sergo44441

Начал применять методику на свои отчеты (разрезание выборки данных на кусочки, копирование на листы новой книги по менеджерам, очистка выборки, последовательное возвращение на лист выборки данных одного менеджера, обновление сводных и сохранение файлика в папочку с отчетами для менеджера), потихоньку получается. У меня менеджер с одним филиалом оказался в середине списка, ошибочка стала выдаваться на нем, продублировал его запись, нормально.
Подскажите, про параметры автофильтра в этой записи, это основное в этой задаче
.AutoFilter 2, a, 7
как я понимаю
2- номер столбца, к которому применяется _автофильтр_
а - массив (полная таблица данных
7 - вариантов нет
Не торопись, и все успеешь намного быстрее

kuklp

7 - это именованная константа(Operator:=xlFilterValues), сообщающая автофильтру, что критерием будет массив значений. Я часто пользуюсь разными фильтрами, поэтому мне легче запомнить числа, чем длиннющие имена констант:-)
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771