Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос для изменения источника данных при копировании листа - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Макрос для изменения источника данных при копировании листа
ROGI Дата: Среда, 04.06.2014, 09:59 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Есть лист с исходными данными и под ними сводная таблица. Данный лист служит шаблоном. Когда требуется скопировать шаблон, то сводная таблица на новом листе ссылается на шаблонный. И каждый раз приходится вручную обновлять источник данных. Помогите, пожалуйста, написать макрос для обновления сводной таблицы с изменением источника данных. Или изменить макрос по копированию листа таким образом, чтобы сводная таблица не ссылалась на шаблон.
К сообщению приложен файл: 123.xls (80.5 Kb)
 
Ответить
СообщениеЕсть лист с исходными данными и под ними сводная таблица. Данный лист служит шаблоном. Когда требуется скопировать шаблон, то сводная таблица на новом листе ссылается на шаблонный. И каждый раз приходится вручную обновлять источник данных. Помогите, пожалуйста, написать макрос для обновления сводной таблицы с изменением источника данных. Или изменить макрос по копированию листа таким образом, чтобы сводная таблица не ссылалась на шаблон.

Автор - ROGI
Дата добавления - 04.06.2014 в 09:59
ROGI Дата: Пятница, 06.06.2014, 14:04 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Вроде как-никак решил проблему, но в Excel версиями ниже 2007 выводит ошибку при выполнении следующего макроса:
[vba]
Код

Sub CreatePivotTable()

Dim PTCache As PivotCache
Dim PT As PivotTable

Set PTCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=Range("C5").CurrentRegion)

Set PT = ActiveSheet.PivotTables.Add( _
PivotCache:=PTCache, _
TableDestination:=Range("H15"))

With PT
      .PivotFields("расц.") _
          .Orientation = xlRowField
      .PivotFields("время").Orientation = xlDataField
      .PivotFields("сумма").Orientation = xlDataField
       End With

      ActiveSheet.Shapes.Range(Array("Rectangle 3")).Select
      Selection.Delete
        
End Sub
[/vba]
Помогите, пожалуйста, отредактировать, чтобы работало на всех версиях.
В примере макрос выполняется нажатием на кнопку "Итог"
К сообщению приложен файл: 5578122.xls (88.0 Kb)


Сообщение отредактировал ROGI - Пятница, 06.06.2014, 14:05
 
Ответить
СообщениеВроде как-никак решил проблему, но в Excel версиями ниже 2007 выводит ошибку при выполнении следующего макроса:
[vba]
Код

Sub CreatePivotTable()

Dim PTCache As PivotCache
Dim PT As PivotTable

Set PTCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=Range("C5").CurrentRegion)

Set PT = ActiveSheet.PivotTables.Add( _
PivotCache:=PTCache, _
TableDestination:=Range("H15"))

With PT
      .PivotFields("расц.") _
          .Orientation = xlRowField
      .PivotFields("время").Orientation = xlDataField
      .PivotFields("сумма").Orientation = xlDataField
       End With

      ActiveSheet.Shapes.Range(Array("Rectangle 3")).Select
      Selection.Delete
        
End Sub
[/vba]
Помогите, пожалуйста, отредактировать, чтобы работало на всех версиях.
В примере макрос выполняется нажатием на кнопку "Итог"

Автор - ROGI
Дата добавления - 06.06.2014 в 14:04
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!