Страницы: 1 2 След.
RSS
Как в сводной таблице изменить параметры сразу нескольких полей
 
Добрый день.  
Просьба помочь, очень важно.  
Есть сводная таблица (2007), в которой много полей вычисляет количество. Нужно изменить параметры полей на сумму.  
Можно  ли это сделать одновременно со всеми полями, так как изменение каждого занимает очень много времени.  
Заранее большое спасибо.
 
Нет.
 
Чего это я, в самом деле?..  
 
 
 
Доброго времени суток, Наталия.  
 
К сожалению средствами сводной таблицы изменить параметры сразу нескольких полей невозможно.  
 
Вероятно это можно сделать макросом, но для проверки этого утверждения необходимо что бы Вашей темой заинтересовался кто-нибудь из макрописателей.
 
{quote}{login=The_Prist}{date=03.06.2010 10:09}{thema=}{post}Макросом можно.{/post}{/quote}  
Имеется в виду рекордером? Хочу этим узнать что на конкретный файл? (в зависимости от расположение СТ) или независимо от расположения т.е. обновляются все поля элеиенты данных любой СТ (хоть 20 полей столбцов) лижбы в листе была СТ
 
Спасибо за ответы.  
Файл прилагаю.  
Заранее спасибо
 
Например я создал СТ_1 и с пом.макрорекордера написал макрос обновление СТ. Затем создал вторую СТ (СТ_2) и для обновление СТ_2 снова надо написать макрос. А хочется один конкретный макрос для всех СТ каторые находятся в книге. Чтоб при создании новой СТ с абсолютно другой базой макрос обновил.    
И еще 1 вопрос если можно: как сделать чтоб вместо нажатия на кнопку макроса использовать сочетание клавиш например (Ctrl + Z).
 
Совет. Поставьте формат ячеек в итоговом списке не общий, а числовой, в сводной сумма будет по умолчанию. И, если в таблице есть пустые ячейки, замените их на нули.
 
Sub qwe()  
For Each ws In ThisWorkbook.Sheets  
For Each pt In ws.PivotTables  
pt.RefreshTable  
Next  
Next  
End Sub
Я сам - дурнее всякого примера! ...
 
Это было для azam. У меня 2003 Экс.  
Чтоб назначить клавиши: Алт+Ф8 макрос Параметры.
Я сам - дурнее всякого примера! ...
 
{quote}{login=KuklP}{date=03.06.2010 01:17}{thema=}{post}Sub qwe()  
For Each ws In ThisWorkbook.Sheets  
For Each pt In ws.PivotTables  
pt.RefreshTable  
Next  
Next  
End Sub{/post}{/quote}  
Вот что значить НаписАть макрос а не записать макрорек-ом. Спасибо KuklP.  
А как эту процедуру использовать не для обновл. а для изм.парам. поля с кол-во на сумму.
 
{quote}{login=KuklP}{date=03.06.2010 01:25}{thema=}{post}  
Чтоб назначить клавиши: Алт+Ф8 макрос Параметры.{/post}{/quote}  
Еще раз спасибо, оказывается так легко и удобно
 
"Совет. Поставьте формат ячеек в итоговом списке не общий, а числовой, в сводной сумма будет по умолчанию. И, если в таблице есть пустые ячейки, замените их на нули."  
 
Огромное Вам спасибо, Михаил.  
Макросы для меня - это очень сложно, а Вашим советом я непременно воспользуюсь.  
Спасибо всем, кто помог.  
Всем удачи!
 
"А как эту процедуру использовать не для обновл. а для изм.парам. поля с кол-во на сумму."  
Воспользуйтесь советом Михаила от 03.06.2010, 13:15. И не надо будет никакого шаманства.
Я сам - дурнее всякого примера! ...
 
{quote}{login=azam}{date=03.06.2010 01:40}{thema=Re: }{post}  
Еще раз спасибо, оказывается так легко и удобно{/post}{/quote}А ещё легче и проше нажать стандартную кнопку "Refresh All". Работает и при отключённых макросах :-)
 
{quote}{login=Михаил}{date=03.06.2010 01:15}{thema=}{post}Совет. Поставьте формат ячеек в итоговом списке не общий, а числовой, в сводной сумма будет по умолчанию. И, если в таблице есть пустые ячейки, замените их на нули.{/post}{/quote}Михаил, это не всегда работает...
 
Serge 007, я уж заждался, когда Вы появитесь. Еще бы The_Prist вернулся в тему.  
Вот это:  
"А как эту процедуру использовать не для обновл. а для изм.парам. поля с кол-во на сумму."  
Не знаю. Я со сводными почти не сталкивался. Очень поверхностно.
Я сам - дурнее всякого примера! ...
 
{quote}{login=Serge 007}{date=03.06.2010 03:23}{thema=Re: Re: }{post}{quote}{login=azam}{date=03.06.2010 01:40}{thema=Re: }{post}  
Еще раз спасибо, оказывается так легко и удобно{/post}{/quote}А ещё легче и проше нажать стандартную кнопку "Refresh All". Работает и при отключённых макросах :-){/post}{/quote}  
Привет Сергей. А где находится эта кнопка?
 
{quote}{login=azam}{date=03.06.2010 03:42}{thema=Re: Re: Re: }{post}Где находится эта кнопка?{/post}{/quote}  
 
74,8 Кб
 
Я так понял, что автору нужно для всех.  
Вот такое:  
For Each ws In ThisWorkbook.Sheets  
For Each pt In ws.PivotTables  
For Each pf In pt.PivotFields  
On Error Resume Next  
If pf.DataType = xlNumber Then  
pf.Function = xlSum 'xlCount '  
End If  
Next  
pt.RefreshTable  
Next  
Next  
End Sub  
Не работает.:-(
Я сам - дурнее всякого примера! ...
 
{quote}{login=Serge 007}{date=03.06.2010 03:25}{thema=Re: }{post}{quote}{login=Михаил}{date=03.06.2010 01:15}{thema=}{post}Совет. Поставьте формат ячеек в итоговом списке не общий, а числовой, в сводной сумма будет по умолчанию. И, если в таблице есть пустые ячейки, замените их на нули.{/post}{/quote}Михаил, это не всегда работает...{/post}{/quote}Вот варианты, когда по умолчанию сумма, когда количество.
 
{quote}{login=KuklP}{date=03.06.2010 03:34}{thema=}{post}Serge 007, я уж заждался, когда Вы появитесь. Еще бы The_Prist вернулся в тему.  
Вот это:  
"А как эту процедуру использовать не для обновл. а для изм.парам. поля с кол-во на сумму."  
Не знаю. Я со сводными почти не сталкивался. Очень поверхностно.{/post}{/quote}  
 
Я вообще-то отдыхаю :-)  
Есть возможность - захожу...  
 
Я макросы плохо знаю, так что может Дима поможет?
 
Знаю, что отдыхаете. :-) И Диму уже попросил. Просто увидел, что Вы на форуме.
Я сам - дурнее всякого примера! ...
 
Блин, тут инет тормозной :(  
Пока один пост отошлёшь - пару пива выпить можно...
 
Я сейчас тоже пиво ик.. пью :-) (Да простят меня модераторы за флуд)
Я сам - дурнее всякого примера! ...
 
{quote}{login=The_Prist}{date=03.06.2010 04:38}{thema=}{post}Понятно...Они тут пиво пьют, а я сводные окучивай...:-){/post}{/quote}  
Я не пью :-)  
Я говорил что "Пока один пост отошлёшь - пару пива выпить МОЖНО"...
 
Че-то я совсем загруз. Что бы не выбирал, в сводной ничего не меняется. Макросы работают. То же было и в моем примере. Ошибка "нельзя установить свойство Function класса Pivotfield". Это если отключить On Error Resume Next. Мож у меня с Экселем что не так? Дим, попробуй мою программку у себя. Что получится?
Я сам - дурнее всякого примера! ...
 
{quote}{login=KuklP}{date=03.06.2010 05:25}{thema=}{post}Че-то я совсем загруз. Что бы не выбирал, в сводной ничего не меняется. {/post}{/quote}  
 
Я тоже так с начала подумал. Не меняются названия полей, а цифры  меняются. (Проверял на 2010)
 
Имхо, и не надо делать, что б названия полей менялись. Всё равно их потом вручную править, для удобства восприятия.    
Впрочем...
 
Значит мой Эксель не желает:-( У меня 2003. Стоп, если файл 2007 сохранить как 2003, то сводные не конвертируются. Ща попробую в своих файлах.
Я сам - дурнее всякого примера! ...
 
Да, на моих сводных работает.  
oPVField.Value = avArrVal(lChoose - 1) & Mid$(oPVField.Value, InStr(oPVField.Value, " по полю ")) если эту строчку закомментировать.  
Спасибо Дмитрий.
Я сам - дурнее всякого примера! ...
Страницы: 1 2 След.
Читают тему
Наверх