Версия для печати

Как одновременно просматривать информацию с нескольких листов/диапазонов?

Что умеет Excel

 

Возможно это и не пригодиться никому, а возможно для кого-то будет весьма актуально. К примеру: у Вас есть книга Excel с, скажем тремя, листами. На каждом листе свои данные. На «Лист1» в диапазоне A4:A10 занесены данные. На «Лист2» в диапазоне А1:А10 ведутся расчеты, результат которых зависит от данных на «Лист1«. На «Лист3» тоже расчеты, но зависящие от данных в диапазоне А1:А10 на «Лист2«. И напоследок в диапазоне  T100:T102 на «Лист1» ведутся расчеты, зависящие от данных и на «Лист1» и на «Лист2» и на «Лист3«. Так вот, если Вы хотите видеть результаты вычислений во всех этих диапазонах, то Вам придется либо переходить с одного листа на другой, либо воспользоваться предлагаемым мной методом.

Итак. Для начала нам потребуется внести некоторые изменения на Быструю панель. А именно добавить на неё один элемент — Камера. Делается это так: для Excel 2003: Вид-Панели инструментов-Настройки-Команды-Сервис-Камера; для Excel 2007: Меню-Параметры Excel-Настройка-Все команды-Камера.

После того, как мы вынесли на панель эту команду остается дело за малым.

  1. Выделяем диапазон А1:А10 на «Лист2»
  2. Жмем значек Камера на панели. Курсор мыши приобретет вид тоненького крестика.
  3. Переходим на «Лист1» и рисуем этим крестиком область, примерно того же размера, что и диапазон А1:А10.

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

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

Sub Create_Camera()
    Sheets("Лист1").Range("A1:C10").Copy
    ActiveSheet.Pictures.Paste(Link:=True).Select
End Sub
Sub Create_Camera()
    Sheets("Лист1").Range("A1:C10").Copy
    ActiveSheet.Pictures.Paste(Link:=True).Select
End Sub

Запускать код надо с того листа, на который необходимо поместить объект Камера. Сам объект будет вставлен в активную ячейку этого листа. А данные для просмотра берутся из диапазона «A1:C10″ листа «Лист1″ .

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

Sub Create_Camera()
    Sheets("Лист1").Range("A1:C10").Copy
    Sheets("Лист2").Activate
    [A1].Select
    ActiveSheet.Pictures.Paste(Link:=True).Select
End Sub
Sub Create_Camera()
    Sheets("Лист1").Range("A1:C10").Copy
    Sheets("Лист2").Activate
    [A1].Select
    ActiveSheet.Pictures.Paste(Link:=True).Select
End Sub

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

  Tips_All_Camera.xls (37,0 KiB, 1 557 скачиваний)

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



Поддержать автора сайта
Поделиться ссылкой
  1. Пока что нет комментариев.

Комментарий будет добавлен после проверки администратором.
Комментарии, не имеющие отношения к комментируемой статье, будут удаляться без уведомления и объяснения причин. Если есть вопрос по проблеме в Excel- добро пожаловаться на Форум