Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Вставка строк после "шапки" и автоматическое удаление строки по условию, Редактирование кода "Отслеживание входа пользователей в книгу Excel"
 
Здравствуйте, Уважаемые форумчане.
Воспользовался примером Николая и Дмитрия, спасибо им огромное за это! Чуть-чуть подкорректировал местами код под себя.
Могли бы Вы подсказать, на что заменить часть кода (или добавить):
1) чтобы новые строки добавлялись сразу после "шапки", все остальные соответственно сдвигались ниже;
2) как прописать в коде, чтобы удалялись все строки, например, ниже 100 строки (данное условие буду осуществлять при закрытии книги).

Excel 2013.
Спасибо!

P.S. На всякий случай файл-пример от Дмитрия (The_Prist)
 
Смотрите вложение.
Работать надо не 12 часов, а головой.
 
Leanna, Спасибо большое!
С прошедшим праздником :)
 
Добрый вечер.
Leanna, чуть-чуть изменил Ваш код, чтобы после вставки новой строки на листе "Лог" не затиралась "шапка", т.к. на её место вставала первая строка пользователя, который произвёл первое изменение в файле.

Так же объединил под свои нужды два примера, указанных в начале темы.

Появилась небольшая проблема. На листе "Лог" некорректно стали отображаться "Предыдущее значение ячейки" и "Новое значение" (в файле примере это будет видно).
Никак не могу разобраться в чём проблема. Где-то я не правильно прописал/изменил...либо просто некорректно это сделал.

Прошу Вашей помощи, Уважаемые форумчане.
Спасибо.
 
Вот эту строчку вы неверно скопировали. Из-за неё ошибка.
Ваша строчка вызывает выделение последнего значения на листе. (как я понимаю) И поэтому считывается неверное выделение.
Код
lLastRow = Cells.SpecialCells(xlLastCell).Row

должно быть
Код
lLastRow = .Cells.SpecialCells(xlLastCell).Row + 1
Работать надо не 12 часов, а головой.
 
Leanna, спасибо Вам, всё отображается корректно.  
 
И снова, здравствуйте! :)

Проверил действия всего кода на рабочих файлах (даже попробовал вставить лист (который содержит таблицы, текст - не важно) в файл пример, выложенный выше).
Всё отображалось корректно, листы скрывались при закрытии и отображались при открытии, история изменений отображалась.

НО! Например, я закрываю excel и соответственно сохраняю книгу. При этом я могу выходить из файла, находясь каждый раз на разных листах книги. И каждый раз у меня удаляются по 10 строк на активном листе, с которого я закрывал excel и сохранялся. Несколько раз на определённых листах удалялись 50 строк, которые должны удалятся только на листе "Лог".

В чём сейчас может скрываться проблема?

Спасибо.
 
Код
Rows("50:" & lr).Delete

правильно так (точка перед rows)
Код
.Rows("50:" & lr).Delete
Работать надо не 12 часов, а головой.
 
Leanna, и снова Спасибо Вам!!!
"Вторая точка" за сегодня, которая доставила столько проблем))) :oops:
Страницы: 1
Читают тему (гостей: 1)