Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: [архив] Microsoft Excel
Показать сообщение отдельно

(*.*)


Сообщения: 36567
Благодарности: 6698

Профиль | Сайт | Отправить PM | Цитировать


Greyman
Спасибо за ответ. Теперь я отчетливо вижу, что путь к решению задачи определяется уровнем знаний исполнителя ;-) К сожалению, я VB не знаю совсем, и даже если кто-то и напишет мне код, то случись необходимость внести изменения, я окажусь абсолютно неспособен что-либо сделать. Если к тому времени VB не выучу...
Допустим, 3.1 и 3.2 я наверное сделать смогу, порывшись в сети и в справке.
Цитата:
3.3) Макрос берет из первой строчки индекс человека и ищет его куммулятивной таблице.
В исходном отчете вместо индексов фамилии, которые мне "неизвестны". Все остальные пункты я все равно сам реализовать не смогу, хотя защита от дурака - хорошая и нужная идея.

Параллельно, я все равно продолжаю думать над своим вариантом, т.к. ... см. второе предложение данного поста
Лист1: Список работников в одном столбце, и их номера во втором, сортировка не применяется или применяется по фамилиям в алфавитном порядке. Таким образом второй столбец выглядит как первый столбец исходного файла. Больше в листе ничего нет.
Лист2: Кумулятивная таблица. Опять же, в первом столбце фамилии заменены цифрами, применена сортировка по первому столбцу по возрастанию. Количество строк в таблице превышает количество работников, скажем, на 5.
Лист3 - Лист54: еженедельные отчеты. Изначально они пустые.

Алгоритм действий следующий.
1. Менеджер снимает отчет в своей программе, экспортирует в Excel.
2. Открывает экспортированый файл, выделяет все данные в листе (область выделения больше области данных, с запасом).
3. Данные копируются и вставляются в Лист3, к которому применяется макрос, проводящий все нужные вычисления.
4. Далее менеджер открывает Лист1, копирует список работников, заменяет им список фамилий в Лист3, и сортирует по этому столбцу по возрастанию.
5. Остается только переименовать Лист3 (например, дата начала отчетной недели). Больше Лист3 менеджер не трогает. На следующую неделю тоже самое проделывается с Лист4 и т.д.

Теперь предположим, что на 26й неделе добавился работник. Ему назначается самый большой номер (например, 37) В принципе, так сейчас и делается. В Лист 1 добавляется фамилия нового работника и его номер, и применяется сортировка по фамилиям. В Лист2 (кумул. таблица) просто добавляется новый номер в конце списка номеров работников. Таким образом, все предыдущие листы, не содержащие нового работника будут иметь нулевые значения в соотв. строке, а все новые листы будут содержать данные производительности нового работника. Эти данные будут корректно просуммированы и отражены в кумулятивной таблице.

Защиты от дурака в моем варианте нет. Разве что остается полагаться на здравый смысл менеджера. В принципе, все что от нее требуется это не вставить данные из нового отчета в уже использованный лист. Это не сложно, т.к. осмысленные имена даются листам по мере их заполнения. Если же придет новый работник, то я могу вручную сделать изменения, описанные в предыдущем параграфе. Если же меня не будет рядом, то... значит я там не работаю, и мне по барабану, что происходит с отчетом ;-))

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 22:09, 27-09-2004 | #191

Название темы: [архив] Microsoft Excel