Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Указание источника для сводной таблицы макросом
 
С Новым Годом ))
Подскажите найти ошибку в коде. Создаю макросом сводную таблицу. Но в источник данных попадает лишние данные (первая строка на листе) . Пробовал менять обращение - на обращение к динамической таблице, тогда выдает ошибку в другом месте. Что нужно указать вместо - "Range("a3").CurrentRegion", чтобы обращение было только к динамической таблице "БД". Помогите пожалуйста.
Код
Sub Создание_сводной_итоги_сделка()

Dim rngData As Range, PTCache As PivotCache, PT As PivotTable
Call Удалить_другие_листы

Set rngData = ThisWorkbook.Worksheets("РМ администратора").Range("a3").CurrentRegion
Set PTCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, rngData.Address)
Set PT = PTCache.CreatePivotTable(Worksheets.Add.[a4], "Итоги")
ActiveSheet.Name = "Текущие итоги"

With ActiveSheet.PivotTables("Итоги").PivotFields("Данные способа обращения")
        .Orientation = xlRowField.....
End Sub
 
Симметрично.
"динамическая таблица" = "умная" таблица? Если бы был файл-пример - было бы проще. Вообще, если "умная таблица" расположена (например) на ячейке А1, то обращение к диапазону можно так:
Код
Range("A1").ListObject.Range

Это вместе с заголовками и данными.
А если только данные нужны, то не Range, а DataBodyRange. По F1 больше подробностей.
Кому решение нужно - тот пример и рисует.
 
Да, сейчас прикреплю пример.
Не хотелось избавляться от первой строки, поэтому хочу решить эту задачу не удаляя первую строку.
Изменено: Web-Zahar - 8 Янв 2019 15:19:44
 
Код
Set rngData = ThisWorkbook.Worksheets("РМ администратора").Range("a3").ListObject.Range

Попробуйте.
Кому решение нужно - тот пример и рисует.
 
К сожалению также выдает ошибку.  
 
Привет!

Скрытый текст
Изменено: Inexsu - 11 Янв 2019 23:37:42
 
Inexsu,Спасибо. Буду разбираться. ))
Страницы: 1
Читают тему (гостей: 3)
Наверх