MyTetra Share
Делитесь знаниями!
Как одновременно просматривать информацию с нескольких листов/диапазонов?
Время создания: 16.03.2019 23:43
Раздел: Разные закладки - VBA - Excel - Листы
Запись: xintrea/mytetra_db_adgaver_new/master/base/1514996931ynpgllvb29/text.html на raw.githubusercontent.com

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

 

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


1

2

3

4

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


1

2

3

4

5

6

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 KiB, 3 508 скачиваний)

Прикрепленные файлы:
Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования