Как одновременно просматривать информацию с нескольких листов/диапазонов?
Что умеет 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:А10 на «Лист2»
- Жмем значек Камера на панели. Курсор мыши приобретет вид тоненького крестика.
- Переходим на «Лист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 скачиваний)
Так же см.:
→Как сделать одинаковые изменения сразу на нескольких листах

6552
