Решение, описанное в данной статье поможет просматривать информацию одновременно сразу на нескольких листах(диапазонах) книги. К примеру имеется книга 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 268 скачиваний)

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

Loading

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

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.