|
|||||||
Как одновременно просматривать информацию с нескольких листов/диапазонов?
Время создания: 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 - команда Камера. Как это сделать:
После того, как мы вынесли на панель эту команду остается дело за малым. На примере диапазона А1:А10 на Лист2:
Теперь мы видим на листе в выделенной области объект, отображающий всю информацию из "снятого" диапазона листа План. Эта информация отображается в режиме он-лайн. Т.е. если на листе "План" в "снятой" области произойдут изменения - то они отобразятся и в данном объекте. Повторяем эти действия для всех необходимых диапазонов. Так же подобное можно создать макросом. Как ни странно, но макрорекордер не записывает действие создания инструмента Камера. А между тем код создания весьма прост: 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 KiB, 3 508 скачиваний) |
|||||||
Прикрепленные файлы:
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|