Решение, описанное в данной статье поможет просматривать информацию одновременно сразу на нескольких листах(диапазонах) книги. К примеру имеется книга Excel с тремя листами. На каждом листе свои данные: на листе "Факт" в диапазоне A1:C25 заносятся данные по доходам и расходам за последние два года. На листе "План" в диапазоне B2:C13 в зависимости от данных на листе "Факт" рассчитываются доходы и расходы на будущий год. На листе "Прибыль" в зависимости от данных листов План и Факт рассчитывается планируемая прибыль на будущий месяц. И если необходимо видеть результаты вычислений во всех этих диапазонах в зависимости от изменений на листе Факт, то придется либо переходить с одного листа на другой, либо воспользоваться предлагаемым ниже методом.

Все расчеты в приложенном файле носят показательный характер и не могут быть использованы для расчета реального прогноза доходов и прибыли

Для начала нам потребуется добавить одну команду на Панель Быстрого Доступа Excel - команда Камера. Как это сделать:

  • для Excel 2003: Вид -Панели инструментов -Настройки -Команды -Сервис -Камера
  • для Excel 2007: Кнопка Офис -Параметры Excel -Настройка -Все команды -Камера
  • для Excel 2010 и выше: Файл -Параметры Excel -Настройка -Все команды -Камера

После того, как мы вынесли на панель эту команду остается дело за малым. На примере диапазона А1:А10 на Лист2:

  1. Выделяем диапазон B2:C13 на листе "План"
  2. Жмем значок Камера на панели. Курсор мыши приобретет вид тоненького крестика
  3. Переходим обратно на лист "Факт" и рисуем этим крестиком область, примерно того же размера, что и диапазон B2:C13 или просто щелкаем левой кнопкой мыши на любой ячейке листа

Теперь мы видим на листе в выделенной области объект, отображающий всю информацию из "снятого" диапазона листа План. Эта информация отображается в режиме он-лайн. Т.е. если на листе "План" в "снятой" области произойдут изменения - то они отобразятся и в данном объекте. Повторяем эти действия для всех необходимых диапазонов.

Так же подобное можно создать макросом. Как ни странно, но макрорекордер не записывает действие создания инструмента Камера. А между тем код создания весьма прост:

Sub Create_Camera()
    Sheets("План").Range("B2:C13").Copy 'диапазон, снимок которого надо сделать
    ActiveSheet.Pictures.Paste(Link:=True).Select 'вставляем на тот же лист, начиная с выделенной ячейки
End Sub

Запускать код надо с того листа, на который необходимо поместить объект Камера. Сам объект будет вставлен в активную ячейку этого листа. А данные для просмотра берутся из диапазона "B2:C13" листа "План" .

Чтобы самим указать, в какую ячейку вставить объект Камера, достаточно перед вставкой активировать нужную ячейку и нужный лист, а в коде указать имя листа, диапазон с которого надо отслеживать, и сам диапазон:

Sub Create_Camera()
    Sheets("План").Range("B2:C13").Copy 'применяем к диапазону "B2:C13" на "План"
    'Sheets("Факт").Activate 'если надо принудительно вставить снимок в другой лист
    '[E2].Select 'если надо вставить в конкретную ячейку - E2
    ActiveSheet.Pictures.Paste(Link:=True).Select 'вставляем снимок в активную ячейку текущего листа
End Sub

Скачать пример

  Tips_All_Camera.xls (70,0 КиБ, 5 230 скачиваний)

Так же см.:
Как сделать одинаковые изменения сразу на нескольких листах

Loading

2 комментария

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.