Добрый день, коллеги! Подскажите, пожалуйста, есть ли способ поменять источник данных у нескольких сводных таблиц одновременно? Сводных таблиц разных конфигураций много на отдельных вкладках, источник данных один в отдельном файле. Можно быстро поменять на источник данных из другого файла с тем же диапазоном?
Добрый день, коллеги! Подскажите, пожалуйста, есть ли способ поменять источник данных у нескольких сводных таблиц одновременно? Сводных таблиц разных конфигураций много на отдельных вкладках, источник данных один в отдельном файле. Можно быстро поменять на источник данных из другого файла с тем же диапазоном?sasha1982161082
Могу ошибатся, но просто изменить связь с другой книгой. Если конечно не на основе запроса строится сводная. А если запрос, то просто меняется в соединении путь.
Могу ошибатся, но просто изменить связь с другой книгой. Если конечно не на основе запроса строится сводная. А если запрос, то просто меняется в соединении путь.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Четверг, 28.03.2019, 20:14
Sub tt() For Each pt In ActiveSheet.PivotTables With pt .SourceData = Replace(.SourceData, "было", "стало") End With Next pt End Sub
[/vba] , где "было" и "стало" - что на что меняем. Например, был путь 'D:\Стереть\[фыфы.xlsm]Лист1'!$A$1:$B$4 нужен путь 'D:\Стереть\[яяяя.xlsm]Лист1'!$A$1:$B$4 , тогда достаточно [vba]
Есть еще простой путь - файл-новыйИсточник копируем в Винде в любое другое место, открываем файл со сводными, открываем файл- старыйИсточник. Пересохраняем файл-старыйИсточник по новому пути с новым (если нужно) имененем. Закрываем файл-старыйИсточник, переносим в Винде скопированный файл-новыйИсточник на свое место, обновляем сводную.
Запустите простенький макрос [vba]
Код
Sub tt() For Each pt In ActiveSheet.PivotTables With pt .SourceData = Replace(.SourceData, "было", "стало") End With Next pt End Sub
[/vba] , где "было" и "стало" - что на что меняем. Например, был путь 'D:\Стереть\[фыфы.xlsm]Лист1'!$A$1:$B$4 нужен путь 'D:\Стереть\[яяяя.xlsm]Лист1'!$A$1:$B$4 , тогда достаточно [vba]
Есть еще простой путь - файл-новыйИсточник копируем в Винде в любое другое место, открываем файл со сводными, открываем файл- старыйИсточник. Пересохраняем файл-старыйИсточник по новому пути с новым (если нужно) имененем. Закрываем файл-старыйИсточник, переносим в Винде скопированный файл-новыйИсточник на свое место, обновляем сводную._Boroda_
быстро поменять на источник данных из другого файла с тем же диапазоном?
Конечно, только не источник данных, а данные. Скопируйте данные из нового источника в первоначальный и обновите сводные, к удаче и диапазоны совпадают. Три действия: копировать--вставить--обновить.
быстро поменять на источник данных из другого файла с тем же диапазоном?
Конечно, только не источник данных, а данные. Скопируйте данные из нового источника в первоначальный и обновите сводные, к удаче и диапазоны совпадают. Три действия: копировать--вставить--обновить.gling
Спасибо за помощь. Почему то у меня Replace не воспринимала адрес в виде текстовой строки (может что то делал не так)
[vba]
Код
"C:\Users\Desktop\[Источник.xlsx]Лист1!A1:C13"
[/vba]
В конце концов я часть кода сделал макрорекодером, а часть взял у вас))
[vba]
Код
Sub tt() n = ActiveWorkbook.Sheets.Count For i = 1 To n Sheets(i).Activate For Each pt In ActiveSheet.PivotTables pt.ChangePivotCache ActiveWorkbook. _ PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "C:\Users\Desktop\[Источник.xlsx]Лист1!A1:C13", Version _ :=xlPivotTableVersion12) Next pt Next End Sub
[/vba]
PS Сорри, что так долго не отвечал))
_Boroda_, добрый день!
Спасибо за помощь. Почему то у меня Replace не воспринимала адрес в виде текстовой строки (может что то делал не так)
[vba]
Код
"C:\Users\Desktop\[Источник.xlsx]Лист1!A1:C13"
[/vba]
В конце концов я часть кода сделал макрорекодером, а часть взял у вас))
[vba]
Код
Sub tt() n = ActiveWorkbook.Sheets.Count For i = 1 To n Sheets(i).Activate For Each pt In ActiveSheet.PivotTables pt.ChangePivotCache ActiveWorkbook. _ PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "C:\Users\Desktop\[Источник.xlsx]Лист1!A1:C13", Version _ :=xlPivotTableVersion12) Next pt Next End Sub