Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2010, 15:47   #1
klip
 
Регистрация: 05.03.2010
Сообщений: 4
Вопрос Подгонка макроса в Excel

Есть следующая проблемка:
макрос создаёт сводную таблицу и выполняет фильтрацию по признаку "Pohjustaja", где надо снять все галки и оставить только один параметр (в макросе он никак не прописывается сейчас "KK - kojukanne").


ActiveSheet.PivotTables("PivotTable 2").PivotFields("Pхhjustaja").Curre ntPage = _
"(All)"
With ActiveSheet.PivotTables("PivotTable 2").PivotFields("Pхhjustaja")
.PivotItems("AT - ANDMETЦЦTLUS").Visible = False
.PivotItems("EKSP - EKSPEDEERIMINE").Visible = False
.PivotItems("KL - KLIENT").Visible = False
.PivotItems("KT - KLIENDITEENINDUS").Visible = False
.PivotItems("MUU - MДДRATLEMATA").Visible = False
.PivotItems("TE - TEHNILINE").Visible = False
.PivotItems("TKODA - TRЬKIKODA").Visible = False
.PivotItems("TOIM - TOIMETUS").Visible = False
.PivotItems("TRA - TRANSPORT").Visible = False
.PivotItems("V - VДLJASTUS").Visible = False

Проблема возникает тогда, когда в исходной наблице один из параметров отсутствует:
AT - ANDMETÖÖTLUS
EKSP - EKSPEDEERIMINE
KL - KLIENT
MUU - MÄÄRATLEMATA
TE - TEHNILINE
TKODA - TRÜKIKODA
TOIM - TOIMETUS
TRA - TRANSPORT
V - VÄLJASTUS

Тогда макрос выкидывает ошибку и всё приходится доделывать в ручную
Поможете?
klip вне форума Ответить с цитированием
Старый 26.05.2010, 16:18   #2
alebed
Пользователь
 
Аватар для alebed
 
Регистрация: 26.05.2010
Сообщений: 77
По умолчанию Как вариант могу предложить:

Получаем список доступных полей таблици и к примеру сохраняем его в яч. колонки А. см. ниже

For SpysPol = 1 To ActiveSheet.PivotTables("PivotTable 2").PivotFields.Count
Range("A" & Trim(Str(SpysPol))).Value = ActiveSheet.PivotTables("PivotTable 2").PivotFields(SpysPol).Name
Next SpysPol

И на базе полученного списка работать с
.PivotItems(данные из кол А).Visible = False
Спасибо и Пасибы принимаются на WebMoney в американских Z143254902288 или русских R388611339241 монетах
alebed вне форума Ответить с цитированием
Старый 27.05.2010, 13:36   #3
klip
 
Регистрация: 05.03.2010
Сообщений: 4
По умолчанию Понял, что не осилю...

...если ты "новичок", то кто тогда я
klip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск макроса под word из excel siimao Microsoft Office Excel 17 18.09.2010 16:44
Копирование таблиц из Excel в Word с помощью макроса Kostaen Microsoft Office Word 3 25.08.2009 05:00
Запуск макроса в Excel из программы на C# AnnNet Общие вопросы .NET 1 05.06.2009 16:23
Простой пример вызов DLL из макроса Excel Averinsergey Общие вопросы Delphi 2 05.05.2009 23:12
Настраиваемая кнопка макроса в Excel 2007 ZORRO2005 Microsoft Office Excel 0 24.11.2008 00:42