Ведення журналу зроблених в книзі змін, excel для всіх
Проблема дуже актуальна для великих організацій, коли одним файлом користуються кілька людей. І кожен може зробити якісь свої зміни. І звичайно завжди настає момент коли треба дізнатися - а хто зробив ту чи іншу зміну? Можливо просто для інформації, а буває і гірше, коли необхідно дізнатися хто вніс конкретну зміну, яке робити було не можна і по можливості відновити хоча б частину того, що було.
- Зберігати журнал протягом (keep change history for): - якщо необхідно вести журнал змін (а нам необхідно!) То залишаємо цей пункт включеним і встановлюємо кількість днів, протягом яких необхідно зберігати історію. За замовчуванням це 30 днів. Тут маються на увазі останні 30 днів від поточної дати. Тобто по закінченню цих 30 днів раніші дані історії будуть затерті
- Не зберігати журнал змін (do not keep change history): після вибору цього пункту і підтвердження журнал буде видалений (якщо він був створений) і історія вестися не буде
Пункти говорять самі за себе, можна відзначити лише один нюанс: приймати рішення про збереження тих чи інших змінах буде той користувач, який першим відкрив файл.
Для суперечливих змін (Conflicting changes between users)
-
даний пункт управляє врегулюванням конфліктів, якщо при одночасному користуванні файлом декількома користувачами два і більше користувача зробили зміни в одній і тій же клітинці аркуша.
Включити в особисте уявлення (Include in personal view)
-
Даний пункт управляє настройками друку і фільтра загальної книги для декількох користувачів.
Але обидва ці пункти мають великий недолік: в залежності від кількості користувачів і їх дій вони можуть сильно "роздувати" файл і приводити до значних його "гальмах". Тому без необхідності краще їх не використовувати
Тепер найголовніше: як побачити всі зроблені зміни
Після того, як користувачі попрацювали з файлом і стало необхідно побачити зміни необхідно перейти на вкладці Рецензування (Review) -Ісправленія (Track changes) -Виділити виправлення (Highlight changes)

Тут можна вибрати які зміни показувати
Виділяти виправлення на екрані (Highlight changes on screen): якщо встановити цю галочку, то зміни будуть створені у вигляді приміток до осередків, зміни в яких були зроблені. У лівому верхньому кутку комірки в цьому випадку з'явиться чорний трикутник, а при наведенні на цей осередок з'явиться примітка з інформацією про те хто змінив, коли і на що:
Вносити зміни на окремий аркуш (List changes on a new sheet): в цьому випадку буде створено новий лист з ім'ям "Журнал", в якому будуть перераховані осередки, в які були внесені зміни із зазначенням дати і часу зміни, користувача зробив зміна, старе і нове значення зміненої осередки:
Примітка: Після того, як книзі подано загальний доступ книгу одночасно можуть міняти кілька користувачів. Однак я не рекомендую робити це без крайньої необхідності, тому що одночасний доступ до файлів Excel реалізований дуже погано і працює це нестабільно. У якийсь момент файл може просто відмовитися працювати і всі дані будуть втрачені. Так само неминуче будуть виникати спірні ситуації, коли зміни внесли двоє людей одночасно і не збереглося в результаті жодне з внесених.
Але найголовніший недолік: книги в загальному доступі мають ряд обмежень, серед яких такі як:
- неможливо видаляти листи
- неможливо створювати діаграми. можна лише переглядати створені раніше
- неможливо створювати зведені таблиці. можна лише переглядати створені раніше
- неможливо створювати або змінювати угруповання даних, можна використовувати раніше створену
- неможливо змінювати параметри захисту листів і книги
- неможливо використовувати розширений фільтр
- неможливо використовувати Текст за стовпцями
- неможливо створювати нові перевірки даних. а так само змінювати існуючі. Допускається лише обвести або видалити обведення з невірних даних
- неможливо додавати або змінювати раніше створені формули масиву
- і т.д.
Плюс неможливо не тільки використовувати розумні таблиці, але і зробити книгу загальної, якщо в ній є хоч одна розумна таблиця. Якщо буде спроба зробити загальний доступ до книги з розумною таблицею Excel покаже попередження, що цього робити не можна і проінструктує як перетворити таку таблицю в діапазон для можливості використовувати загальний доступ.
Так само хочу відзначити, що є поширена помилка про неможливість використання макросів в книгах із загальним доступом. Це не так, коди Visual Basic for Applications дозволяється застосовувати і в більшості випадків вони будуть працювати коректно і як замислювалися, якщо вони тільки не намагаються зробити дії, перераховані як заборонені для книг із загальним доступом. Плюс неможливо переглядати і змінювати коди в книгах із загальним доступом.
Відстеження змін і ведення журналу за допомогою коду
Зміни можна відстежувати і за допомогою коду. При цьому такий метод дає не менше повне уявлення про зміни в осередках і при цьому давати загальний доступ книзі немає необхідності, а отже і всі обмеження, які застосовуються для книг в загальному доступі теж залишаються за бортом, що робить такий підхід часом краще. Єдине, при такому режимі файл можна буде редагувати одночасно декільком користувачам. Але в більшості випадків цього і не треба.
Я можу запропонувати невеликий код, який буде відслідковувати такі параметри:
Отже, Ви вирішили реалізувати цей процес. Спочатку необхідно вирішити макроси. без цього даний спосіб ведення журналу не спрацює. Далі необхідно додати в книгу новий лист з ім'ям LOG і вставити наведений код в модуль книги. зміни в которойнеобходімо відстежувати: