Доброе время суток всем!
Описание проблемы: есть протокол, в который подтягиваются данные по приборам из таблицы на втором листе. А в таблицу на втором листе, в свою очередь, подтягиваются данные из внешнего источника (см. пример). Внешним источником служит таблица в отдельном файле 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 |
Если не сложно, подскажите, пожалуйста, на моём примере, как должен выглядеть макрос (или, может, проблема не в самом макросе, а в настройках?).