|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.07.2010, 17:03 | #1 |
Регистрация: 05.07.2010
Сообщений: 4
|
Динамические диапазоны
Никак не получается справиться с несколькими проблемками...
Есть экселевский файл, куда добавляются данные по предприятиям. Добавляются данные в виде листов (название листа - "пр-е i" , i=1,..,k). После добавления листа с предприятием необходимо продолжить список на листке, где всё собрано в кучу (листок "банкроты"). Поэтому Вопрос 1. Как можно автоматизировать эту процедуру? Т.е. добавил, например, лист "пр-е 8", а с него данные (по аналогии) идут в листок "банкроты", где всё собрано в кучу. Вопрос 2. На листке "банкроты" происходит "фильтрация" данных по уровню риска. Отфильтрованные данные надо перенести на следующий лист. Всё бы хорошо, но данные меняются динамически, т.к. могут добавляться новые строчки в конец списка. Как перенести все отфильтрованные данные по-нормальному? Пробовал использовать имена, но что-то с ними ничего не получается... Пробовал сводные таблицы, но получается хаос С макросами тоже не особо вышло... Буду благодарен любой помощи. |
05.07.2010, 18:49 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Здравствуйте.
Во второй части разбираться пока не стал, что-то замороченно очень. Ну а первую предлагаю делать макросом. При активации листа копируются данные с первых листов. Со всех до Sheets.Count - 2 Полумера - переделал формулы с некоторым запасом, чтоб и считало добавленные, и ошибки и нули не показывало (это условным форматом). Можно конечно их динамически добавлять макросом, но так ли уж надо? Попробуйте сами добавить (мне лениво выписывать эту кучу цифр, тем более, вдруг зря?), и тогда сразу формулу в D2 корректируйте автоматически под новый диапазон. P.S. 2007-го нет
webmoney: E265281470651 Z422237915069 R418926282008
|
05.07.2010, 19:09 | #3 |
Регистрация: 05.07.2010
Сообщений: 4
|
Hugo121, спасибо большое!
Код сейчас разбираю, есть пища для раздумий! |
05.07.2010, 19:41 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Сейчас подумал - так данные в листе банкротов и соотв. в последнем листе не обновятся, пока не просмотрен лист банкротов.
Может этот код (немного надо будет синтаксис поменять, привязать к листу) поместить на Workbook_SheetActivate с проверкой имени листа - только на два последних, чтоб не тормозило. Тогда можно будет сразу добавить лист и смотреть рейтинг, не проходя по банкротам. P.S. Там в коде "If iLastRow = 7 Then GoTo 10" - это на случай, если вручную удалите все данные по предприятиям. Да, и ещё - в конце надо добавить, для красоты: Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 05.07.2010 в 19:48. |
05.07.2010, 20:07 | #5 | |
Регистрация: 05.07.2010
Сообщений: 4
|
Цитата:
Покопался - вообще перестало работать... Подскажите, пожалуйста, какие строчки надо менять? VisualBasic только начинаю изучать, поэтому особых успехов пока не видать... |
|
05.07.2010, 20:15 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Код:
По варианту 2 - туда ведь тоже надо копировать данные, или может сделать сразу таблицу на 100 предприятий - тогда хватит этого одного кода, но выглядеть конечно рейтинг будет иначе Хотя незадействованные строки можно просто скрыть.
webmoney: E265281470651 Z422237915069 R418926282008
|
05.07.2010, 20:33 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Вот вариант на ЭтаКнига:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 05.07.2010 в 20:49. |
05.07.2010, 20:54 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Так, убрал копирование значений, теперь дёргает меньше
Не бойтесь, заменил на присвоение Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 05.07.2010 в 21:11. |
05.07.2010, 21:20 | #9 |
Регистрация: 05.07.2010
Сообщений: 4
|
Ух, ты! Спасибо!!!
Правда, сейчас нет возможности посмотреть как что работает, но руки так и чешутся опробовать эти команды |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как просуммировать диапазоны? | Алексей11111 | Microsoft Office Excel | 7 | 28.11.2009 18:19 |
Где найти диапазоны типов? | TwiX | Общие вопросы C/C++ | 3 | 21.11.2009 20:48 |
Как скопировать диапазоны которые находятся на равном растояние друг от друга... | Алексей11111 | Microsoft Office Excel | 12 | 15.11.2009 02:34 |
Функция ЕСЛИ и диапазоны значений. | Ник Харди | Microsoft Office Excel | 3 | 05.12.2007 13:39 |
Суммесли и диапазоны на листах | _ДЭН_78 | Microsoft Office Excel | 1 | 18.09.2007 15:38 |