Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Vba-excel -pivottable

8.5K
08 сентября 2004 года
eKAT
1 / / 08.09.2004
Может кто знает, как заставить ActiveWorkbook.PivotCaches.Add(SourceType:=xlConsolidation, _ SourceData:=Диапазон).CreatePivotTable Tabledestination:= Назначение, Tablename:="СводнаяТаблица"
принять "Диапазон", который формируется динамически.
Я делал так:
---------------------------------------------------------------------------------------------------- ЧислоЛистов = Worksheets.Count
ReDim Диапазон(ЧислоЛистов) As Variant
For Each Лист In Worksheets
ИмяЛиста = Лист.Name
Диапазон(НомерЛиста) = Array(ИмяЛиста & "!R1C1:R20C9", ИмяЛиста)

For Each Парам In Диапазон(НомерЛиста)
Debug.Print Парам, НомерЛиста ' для контроля
Next
НомерЛиста = НомерЛиста + 1
Next Лист
Но получаю RUN-TIME Error N13 "type mismatch"
Если в эту переменную подставить описание массива диапазонов в виде:
"Диапазон() = Array(Array("Лист1!R1C1:R66C9", "Лист1"), Array("Лист2!R1C1:R66C9", "Лист2"),...)",
то всё работает. Но смысл программы в том, чтобы создавать каждый раз требуемый диапазон зоново, поскольку он постоянно изменяется. И здесь появляется эта ошибка. Не могу понять, как её исправить.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог