|
|
|
Задача - расчёт нагрузки по преподавателям с контролем
|
|||
|---|---|---|---|
|
#18+
Есть задача, которую я не могу выполнить уже почти три месяца - банально не хватает времени и сил глубоко копать VBA. Коротко: во внешней по отношению к Excel программе (1С) формируется Ecxel'евский файл. Шаблон хранить негде, поэтому единственное, чем можно воспользоваться для решения - модулем книги (подгружаемым из файла .bas). Для этой книги нужно (теперь длинно): 1. Запретить правку первого листа (сформированного в 1С) вручную, причём так, чтобы пользователь не мог отключить макрос при открытии; 2. По горячим клавишам при нажатии на первом листе на любой из строк, где заполнена первая колонка, переходить на второй лист (при отсутствии - его создавать и заполнять по данным шапки первого и текущей строки), ставить неотключаемый фильтр по значению первой колонки текущей строки, если подходящих строк нет - создавать новую, копируя данные из текущей; 3. На каждый такой переход под отфильтрованной таблицей на втором листе выводить значения соотв. колонок первого листа и итоги по отфильтрованным строкам плюс напоминание, какие комбинации горячих клавиш доступны; 4. На втором листе по другой комбинации горячих клавиш вводить новую строку, копируя данные из строки первого листа (кроме одной колонки,которая должна быть пуста), значение в первой колонке которой совпадает с текущим значением фильтра на втором листе, и вычитая из значений нужных колонок итог по уже существующим "дочерним" строкам, после этого, конечно, пересчитывая и выводя итоги аналогично п.3; 5. По возвращении на первый лист в энную колонку записывать через запятую уникальные значения той же колонки "дочерних" строк; 6. По горячим клавишам и перед записью файла контролировать суммы - чтобы для каждой строки первого листа, где заполнена первая колонка, итог по определённым колонкам "дочерних" строк совпадал бы со значениями в колонках "родительской"; 7. Предоставить пользователю возможность-таки отключения фильтра на втором листе, но строго по горячим клавишам и с немедленным контролем всех сумм; 8. Контрольное сообщение должно выводиться в формате, удобном для пользователя (то есть MsgBox не подходит - длинные строки в нём не смотрятся, да и к тому же - сколько пользователь запомнит, что у него не совпало?), с указанием как минимум номера родительской строки и колонок, по которым выявлено расхождение. Ффух. Напоминаю, что вся задача в идеале должна быть решена в формате файла модуля (.bas). Уточняю: я однэсник, а не VBAшник. И последний срок сдачи - следующая пятница, 20 февраля. И, фак мой мозг, времени у меня нет, как нет и нормального справочника по VBA. Гарантирую оплату в разумных пределах, но и предложения на халяву рассмотрю . Во вложении: то, что на первом листе - исходная таблица. Второй лист создаётся автоматически по описанной комбинации ГК. P.S. Вроде бы это последняя версия (в смысле модуля). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2009, 02:14:45 |
|
||
|
Задача - расчёт нагрузки по преподавателям с контролем
|
|||
|---|---|---|---|
|
#18+
Да, для связи - esteraddi@gmail.com. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2009, 02:16:08 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2179813]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
199ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 185ms |
| total: | 441ms |

| 0 / 0 |
