Доброе время суток всем!
Описание проблемы: есть протокол, в который подтягиваются данные по приборам из таблицы на втором листе. А в таблицу на втором листе, в свою очередь, подтягиваются данные из внешнего источника (см. пример). Внешним источником служит таблица в отдельном файле excel (Все таблицы НЕ сводные!!!).
Обновлять данные нужно не каждый раз при открытии протокола (эта функция будет отключена), а только по запросу исполнителя.
Необходимо написать макрос и вывести отдельную кнопочку для обновления.
Да-да, я прекрасно знаю о том, что есть кнопочка "обновить всё". Только, есть нюанс: листы, для которых нужно обновлять данные, будут защищены паролем, которые исполнитель знать не будет.
Так что - нужен именно макрос, который будет снимать защиту с листа, обновлять ссылки, а потом опять ставить пароль по запросу пользователя.
Со снятием/постанокой пароля проблем нет, эта часть работает. Конкретно проблема - только с той частью макроса, который должен обновлять данные на листе. Он никак работать не хочет.
Увы, с макросами я раньше не работал, поэтому брал готовые решения из Интернета, вроде такого:
Если не сложно, подскажите, пожалуйста, на моём примере, как должен выглядеть макрос (или, может, проблема не в самом макросе, а в настройках?).
Описание проблемы: есть протокол, в который подтягиваются данные по приборам из таблицы на втором листе. А в таблицу на втором листе, в свою очередь, подтягиваются данные из внешнего источника (см. пример). Внешним источником служит таблица в отдельном файле excel (Все таблицы НЕ сводные!!!).
Обновлять данные нужно не каждый раз при открытии протокола (эта функция будет отключена), а только по запросу исполнителя.
Необходимо написать макрос и вывести отдельную кнопочку для обновления.
Да-да, я прекрасно знаю о том, что есть кнопочка "обновить всё". Только, есть нюанс: листы, для которых нужно обновлять данные, будут защищены паролем, которые исполнитель знать не будет.
Так что - нужен именно макрос, который будет снимать защиту с листа, обновлять ссылки, а потом опять ставить пароль по запросу пользователя.
Со снятием/постанокой пароля проблем нет, эта часть работает. Конкретно проблема - только с той частью макроса, который должен обновлять данные на листе. Он никак работать не хочет.
Увы, с макросами я раньше не работал, поэтому брал готовые решения из Интернета, вроде такого:
| Код |
|---|
Sub DataRefresh()
ActiveSheet.Unprotect "XXX"
ActiveWorkbook.RefreshAll
Application.OnTime Now + TimeValue("00:00:01"), "DataRefresh2"
End Sub
Sub DataRefresh2 ()
If Application.CommandBars.GetEnabledMso("RefreshStatus") Then
Application.OnTime Now + TimeValue("00:00:01"), " DataRefresh2"
Else
ActiveSheet.Protect "XXX"
End If
End Sub |
Если не сложно, подскажите, пожалуйста, на моём примере, как должен выглядеть макрос (или, может, проблема не в самом макросе, а в настройках?).