01 Что делает макрос
Если вам необходимо скопировать диаграммы из книги и вставить их в другой файл (в другую рабочую книгу, в PowerPoint, в Outlook и т.д.), лучше отключить их от исходных данных. Таким образом, вы не будете получать предупреждение от Excel. Этот макрос копирует все диаграммы на активном листе, вставляет их в новую книгу и отключает от исходных данных.
Этот макрос использует метод ShapeRange.Group, чтобы сгруппировать все диаграммы на активном листе в одну форму. После того, как диаграммы сгруппированы, мы копируем группу, и вставляем ее в новую книгу. Затем мы используем метод BreakLink, чтобы удалить ссылки на исходные данные.
02 Код макроса
Sub
SozdatNaborDiagramm()
'Шаг 1: Объявляем переменные
Dim
wbLinks
As
Variant
'Шаг 2: Сгруппируйте диаграммы, скопируйте группу, а затем разгруппируйте
With
ActiveSheet.ChartObjects.ShapeRange.Group
.Copy
.Ungroup
End
With
'Шаг 3: Вставить в новую книгу и разгруппировать
Workbooks.Add.Sheets(1).Paste
Selection.ShapeRange.Ungroup
'Шаг 4: Разорвать связь с исходных диапазоном
wbLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
ActiveWorkbook.BreakLink Name:=wbLinks(1), _
Type:=xlLinkTypeExcelLinks
End
Sub
03 Как работает макрос
1. Шаг 1 объявляет переменную wbLinks. Макрос использует её в шаге 4, чтобы передать ссылку на источник при разрыве связей.
2. Шаг 2 использует ChartObjects.ShapeRange.Group для группировки всех диаграмм в единую форму. Макрос копирует группу в буфер обмена. После того как группа скопирована, макрос разгруппировывает диаграммы.
3. Шаг 3 создает новую рабочую книгу и вставляет скопированную группу на Лист1. После того, как группа была вставлена, мы можем разгруппировать ее так, чтобы каждая диаграмма была отдельно.
4. Шаг 4 захватывает ссылку на источник в переменной wbLinks. Макрос говорит Excel разорвать связь.
Обратите внимание, что так как этот метод преобразует исходный график на формулу массива, этот метод может не сработать, если ваш график содержит слишком много точек данных. Слишком много – это сколько? Это индивидуально для каждого компьютера, так как ограничено памятью.
04 Как использовать
Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:
1. Активируйте редактор Visual Basic, нажав ALT + F11.
2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
3. Выберите Insert➜Module.
4. Введите или вставьте код во вновь созданном модуле.
05 Скачать файл
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь