Здравствуйте, Уважаемые форумчане. Воспользовался примером Николая и Дмитрия, спасибо им огромное за это! Чуть-чуть подкорректировал местами код под себя. Могли бы Вы подсказать, на что заменить часть кода (или добавить): 1) чтобы новые строки добавлялись сразу после "шапки", все остальные соответственно сдвигались ниже; 2) как прописать в коде, чтобы удалялись все строки, например, ниже 100 строки (данное условие буду осуществлять при закрытии книги).
Excel 2013. Спасибо!
P.S. На всякий случай файл-пример от Дмитрия (The_Prist)
Добрый вечер. Leanna, чуть-чуть изменил Ваш код, чтобы после вставки новой строки на листе "Лог" не затиралась "шапка", т.к. на её место вставала первая строка пользователя, который произвёл первое изменение в файле.
Так же объединил под свои нужды два примера, указанных в начале темы.
Появилась небольшая проблема. На листе "Лог" некорректно стали отображаться "Предыдущее значение ячейки" и "Новое значение" (в файле примере это будет видно). Никак не могу разобраться в чём проблема. Где-то я не правильно прописал/изменил...либо просто некорректно это сделал.
Вот эту строчку вы неверно скопировали. Из-за неё ошибка. Ваша строчка вызывает выделение последнего значения на листе. (как я понимаю) И поэтому считывается неверное выделение.
Проверил действия всего кода на рабочих файлах (даже попробовал вставить лист (который содержит таблицы, текст - не важно) в файл пример, выложенный выше). Всё отображалось корректно, листы скрывались при закрытии и отображались при открытии, история изменений отображалась.
НО! Например, я закрываю excel и соответственно сохраняю книгу. При этом я могу выходить из файла, находясь каждый раз на разных листах книги. И каждый раз у меня удаляются по 10 строк на активном листе, с которого я закрывал excel и сохранялся. Несколько раз на определённых листах удалялись 50 строк, которые должны удалятся только на листе "Лог".