01 Что делает макрос
Если вы все еще используете Excel 2003, вы можете сталкиваться с несовместимостью Сводных таблиц из более поздних версий.
Например, в более поздних версиях Excel в сводных таблицах может быть более 16384 столбцов и более 1000000 уникальных элементов данных. Excel 2003 может иметь только 256 столбцов и 32500 уникальных элементов данных. Для решения проблем с совместимостью, Microsoft создали режим совместимости.
Если вы не в режиме совместимости (т.е. вы работаете с XLSX или XLSM файлами), то при создании сводной таблицы объекты, открытые в Excel 2003, уничтожатся.
Чтобы избежать этого фиаско вручную, пользователи Excel 2007 и 2010 должны сделать следующие шаги:
1. Создать пустую книгу.
2. Сохранить файл как файл XLS.
3. Закрыть файл.
4. Открыть его снова.
5. Начать создание сводной таблицы.
В качестве альтернативы можно использовать макрос, который автоматически запускает сводную таблицу в версии Excel 2003 — даже если вы не в режиме совместимости.
Если записать макрос при создании сводной таблицы в Excel 2007 или Excel 2010, записи макросов генерируют код, который имеет несколько аргументов. Одним из аргументов является свойство Version. Как следует из названия, свойство Version определяет версию Excel сводной таблицы, в которой она создана. Вы можете изменить версию в коде, чтобы заставить Excel создать сводную таблицу, которая будет работать с Excel 2003. Вот список различных версий:
- xlPivotTableVersion2000 — Excel 2000
- xlPivotTableVersion10 — Excel 2002
- xlPivotTableVersion11 — Excel 2003
- xlPivotTableVersion12 — Excel 2007
- xlPivotTableVersion14 — Excel 2010
02 Код макроса
Sub
ObratnayaSovmestimostSvodnoiTablici()
Dim
SourceRange
As
Range
Set
SourceRange = Sheets(
"Лист1"
).Range(
"A1:E15"
)
ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=SourceRange, _
Version:=xlPivotTableVersion11).CreatePivotTable _
TableDestination:=
""
, _
TableName:=
""
, _
DefaultVersion:=xlPivotTableVersion11
End
Sub
03 Как работает макрос
Этот макрос создает сводную таблицу с помощью Range(«A1:E15») с Лист1 в качестве исходных данных.
Обратите внимание, что мы изменили свойства Version и DefaultVersion к xlPivotTable Version11. Это гарантирует, что сводная таблица будет работать в Excel 2003.
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
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь