Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2009, 02:09   #1
Рада
Новичок
Джуниор
 
Регистрация: 13.02.2009
Сообщений: 0
По умолчанию Задача - расчёт нагрузки по преподавателям с контролем

Есть задача, которую я не могу выполнить уже почти три месяца - банально не хватает времени и сил глубоко копать VBA.

Коротко: во внешней по отношению к Excel программе (1С) формируется Ecxel'евский файл. Шаблон хранить негде, поэтому единственное, чем можно воспользоваться для решения - модулем книги (подгружаемым из файла .bas). Для этой книги нужно (теперь длинно):
1. Запретить правку первого листа (сформированного в 1С) вручную, причём так, чтобы пользователь не мог отключить макрос при открытии;
2. По горячим клавишам при нажатии на первом листе на любой из строк, где заполнена первая колонка, переходить на второй лист (при отсутствии - его создавать и заполнять по данным шапки первого и текущей строки), ставить неотключаемый фильтр по значению первой колонки текущей строки, если подходящих строк нет - создавать новую, копируя данные из текущей;
3. На каждый такой переход под отфильтрованной таблицей на втором листе выводить значения соотв. колонок первого листа и итоги по отфильтрованным строкам плюс напоминание, какие комбинации горячих клавиш доступны;
4. На втором листе по другой комбинации горячих клавиш вводить новую строку, копируя данные из строки первого листа (кроме одной колонки,которая должна быть пуста), значение в первой колонке которой совпадает с текущим значением фильтра на втором листе, и вычитая из значений нужных колонок итог по уже существующим "дочерним" строкам, после этого, конечно, пересчитывая и выводя итоги аналогично п.3;
5. По возвращении на первый лист в энную колонку записывать через запятую уникальные значения той же колонки "дочерних" строк;
6. По горячим клавишам и перед записью файла контролировать суммы - чтобы для каждой строки первого листа, где заполнена первая колонка, итог по определённым колонкам "дочерних" строк совпадал бы со значениями в колонках "родительской";
7. Предоставить пользователю возможность-таки отключения фильтра на втором листе, но строго по горячим клавишам и с немедленным контролем всех сумм;
8. Контрольное сообщение должно выводиться в формате, удобном для пользователя (то есть MsgBox не подходит - длинные строки в нём не смотрятся, да и к тому же - сколько пользователь запомнит, что у него не совпало?), с указанием как минимум номера родительской строки и колонок, по которым выявлено расхождение.

Ффух.

Напоминаю, что вся задача в идеале должна быть решена в формате файла модуля (.bas).
Уточняю: я однэсник, а не VBAшник. И последний срок сдачи - следующая пятница, 20 февраля. И, фак мой мозг, времени у меня нет, как нет и нормального справочника по VBA.

Гарантирую оплату в разумных пределах, но и предложения на халяву рассмотрю .

Во вложении: то, что на первом листе - исходная таблица. Второй лист создаётся автоматически по описанной комбинации ГК.

P.S. Вроде бы это последняя версия (в смысле модуля).
Вложения
Тип файла: rar Нагрузка3.rar (35.3 Кб, 12 просмотров)
Рада вне форума Ответить с цитированием
Старый 13.02.2009, 02:16   #2
Рада
Новичок
Джуниор
 
Регистрация: 13.02.2009
Сообщений: 0
По умолчанию

Да, для связи - esteraddi@gmail.com.
Рада вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отображение нагрузки процессора. Mazaxaka Общие вопросы Delphi 2 03.02.2009 18:50
Пожалуйста, подскажите можно ли и как сделать в Excel расчёт процентов? magi Microsoft Office Excel 8 28.09.2007 22:48