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

Вход

Регистрация

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

 

= Мир MS Excel/Изменение источника данных у нескольких сводных таблиц - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Изменение источника данных у нескольких сводных таблиц
sasha1982161082 Дата: Четверг, 28.03.2019, 18:15 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Добрый день, коллеги!
Подскажите, пожалуйста, есть ли способ поменять источник данных у нескольких сводных таблиц одновременно?
Сводных таблиц разных конфигураций много на отдельных вкладках, источник данных один в отдельном файле. Можно быстро поменять на источник данных из другого файла с тем же диапазоном?
 
Ответить
СообщениеДобрый день, коллеги!
Подскажите, пожалуйста, есть ли способ поменять источник данных у нескольких сводных таблиц одновременно?
Сводных таблиц разных конфигураций много на отдельных вкладках, источник данных один в отдельном файле. Можно быстро поменять на источник данных из другого файла с тем же диапазоном?

Автор - sasha1982161082
Дата добавления - 28.03.2019 в 18:15
bmv98rus Дата: Четверг, 28.03.2019, 19:21 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Могу ошибатся, но просто изменить связь с другой книгой. Если конечно не на основе запроса строится сводная. А если запрос, то просто меняется в соединении путь.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Четверг, 28.03.2019, 20:14
 
Ответить
СообщениеМогу ошибатся, но просто изменить связь с другой книгой. Если конечно не на основе запроса строится сводная. А если запрос, то просто меняется в соединении путь.

Автор - bmv98rus
Дата добавления - 28.03.2019 в 19:21
_Boroda_ Дата: Четверг, 28.03.2019, 19:27 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Запустите простенький макрос
[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]
Код
.SourceData = Replace(.SourceData, "фыфы", "яяяя")
[/vba]

* Михаил, сводные таблицы не дают связи в Данных

Есть еще простой путь - файл-новыйИсточник копируем в Винде в любое другое место, открываем файл со сводными, открываем файл- старыйИсточник. Пересохраняем файл-старыйИсточник по новому пути с новым (если нужно) имененем. Закрываем файл-старыйИсточник, переносим в Винде скопированный файл-новыйИсточник на свое место, обновляем сводную.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЗапустите простенький макрос
[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]
Код
.SourceData = Replace(.SourceData, "фыфы", "яяяя")
[/vba]

* Михаил, сводные таблицы не дают связи в Данных

Есть еще простой путь - файл-новыйИсточник копируем в Винде в любое другое место, открываем файл со сводными, открываем файл- старыйИсточник. Пересохраняем файл-старыйИсточник по новому пути с новым (если нужно) имененем. Закрываем файл-старыйИсточник, переносим в Винде скопированный файл-новыйИсточник на свое место, обновляем сводную.

Автор - _Boroda_
Дата добавления - 28.03.2019 в 19:27
gling Дата: Четверг, 28.03.2019, 19:28 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2563
Репутация: 706 ±
Замечаний: 0% ±

2010
Цитата sasha1982161082, 28.03.2019 в 18:15, в сообщении № 1 ()
быстро поменять на источник данных из другого файла с тем же диапазоном?
Конечно, только не источник данных, а данные. Скопируйте данные из нового источника в первоначальный и обновите сводные, к удаче и диапазоны совпадают. Три действия: копировать--вставить--обновить.


ЯД-41001506838083
 
Ответить
Сообщение
Цитата sasha1982161082, 28.03.2019 в 18:15, в сообщении № 1 ()
быстро поменять на источник данных из другого файла с тем же диапазоном?
Конечно, только не источник данных, а данные. Скопируйте данные из нового источника в первоначальный и обновите сводные, к удаче и диапазоны совпадают. Три действия: копировать--вставить--обновить.

Автор - gling
Дата добавления - 28.03.2019 в 19:28
sasha1982161082 Дата: Суббота, 27.04.2019, 07:22 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
_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
[/vba]

PS Сорри, что так долго не отвечал))


Сообщение отредактировал sasha1982161082 - Суббота, 27.04.2019, 07:24
 
Ответить
Сообщение_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
[/vba]

PS Сорри, что так долго не отвечал))

Автор - sasha1982161082
Дата добавления - 27.04.2019 в 07:22
  • Страница 1 из 1
  • 1
Поиск:

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