Страницы: 1
RSS
Возврат на последний активный лист после отработки макроса
 
Добрый день!

Столкнулся с вроде маленькой, но не решаемой мной проблемкой...
В книге есть, условно, 6 листов. Люди преимущественно работают на первых 3х, на 4-6 вносят данные эпизодически.
Макросом прописано, что 3 раза в сутки(по расписанию) данные таблиц листов 4-6 очищаются.
Т.е. человек сидит, работает и тут бац - он уже на листе таблиц да еще и с выделенным диапазоном, да еще и сразу на 3х  8-0

Вопрос: как прописать возвращение на лист, на котором работал человек после отработки макроса очистки?

Спасибо.
Изменено: zasada - 23.08.2017 13:29:58
 
Активировать другие листы не нужно:
Код
Sheets("Лист4").Range("A1:A4").ClearContents

Если пример упрощенный и переходы между листами необходимы:
Код
Sub uu ()
Dim sht As Worksheet
    Set sht = ActiveSheet
---
---
---
    sht.Activate
End Sub
 
Я наверное не совсем точно описал, ЧТО мне нужно...
Не важно, КАК будут очищаться таблицы, ВАЖНО что бы при работе на "ЛИСТ2"(например) пользователь там и остался. Я просто не знаю, что человек и на каком из 3х листов будет делать, когда отработает макрос очистки...
Изменено: zasada - 23.08.2017 14:01:26
 
Я Вам это и показал.
1. Для очистки не обязательно переходить между листами. Это демонстрирует строка кода в предыдущем сообщении. Т.е. пользователь ничего не заметит и будет работать на своем листе.
2. Второй код - начало, где переменной присваивается активный лист, и окончание, где активируется лист, записанный в переменной. Черточки внутри - любые действия Вашего макроса.
 
Все работает

Спасибо!!!
Изменено: zasada - 23.08.2017 14:36:54
Страницы: 1
Наверх