Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как проверить, включен ли столбец в сводной таблице? / 6 сообщений из 6, страница 1 из 1
09.04.2011, 19:30
    #37208227
falcon17
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, включен ли столбец в сводной таблице?
Данные по году в столбцах помесячно.
Задача такая - в зависимости от периода включать те или иные столбцы.
Соответственно, надо отключить перед этим все ненужные.
Как узнать, включен ли столбец я не нашел, а ни до чего более простого, как проскакивать ошибку не додумался.
Код: plaintext
1.
2.
3.
4.
 On Error Resume Next
    For i =  1  To  12 
            Лист11.PivotTables("СвТаб").PivotFields("Сумма по полю " & Format(i, "00") & " мес Ф").Orientation = xlHidden
            Лист11.PivotTables("СвТаб").PivotFields("Сумма по полю " & Format(i, "00") & " мес П").Orientation = xlHidden
    Next i
Есть ли более изящный способ?
...
Рейтинг: 0 / 0
13.04.2011, 11:19
    #37213679
falcon17
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, включен ли столбец в сводной таблице?
еще два маленьких вопроса по фильтрам:

1) в 2003 функции ClearAllFiters нет,
а ShowAllItems почему-то не срабатывает.
как включить все значения по полю?

2) как включить фильтр по одному значению (остальные убрать)?
...
Рейтинг: 0 / 0
13.04.2011, 14:00
    #37214139
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, включен ли столбец в сводной таблице?
falcon17,

Незнаю, что значит изящно. Если Вам нужно без отключения ошибок можно так.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Sub test()
Dim pt  As PivotTable

Dim pfs As PivotFields
Dim pfhs As PivotFields

Dim pf As PivotField
Dim pfh As PivotField


Set pt = ActiveSheet.PivotTables( 1 )

Set pfhs = pt.HiddenFields

Set pfs = pt.PivotFields
Set pf = pfs( 2 )

For Each pfh In pfhs
If pfh = pf Then MsgBox "Hidden" Else MsgBox "Visible"
Next pfh

End Sub
...
Рейтинг: 0 / 0
13.04.2011, 14:12
    #37214186
falcon17
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, включен ли столбец в сводной таблице?
1) сделал кривовато, но по другому не придумал
For Each pvtItem In Лист4.PivotTables("PivotTable1").PivotFields("Город").HiddenItems
pvtItem.Visible = True
Next pvtItem

если есть предложения, исправлю
...
Рейтинг: 0 / 0
13.04.2011, 14:50
    #37214312
falcon17
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, включен ли столбец в сводной таблице?
указанный выше пример работает для столбцов
для фильтра работает строка:
ActiveSheet.PivotTables("СвТабл").PivotFields("ГруппаМат").CurrentPage = "(All)"

проблема заключается в том, что фильтры с возможностью выбора нескольких элементов в 2010, в 2003 Экселе превратились фильтр с выбором одного значения :( Что делать?
...
Рейтинг: 0 / 0
14.04.2011, 21:42
    #37217377
falcon17
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, включен ли столбец в сводной таблице?
А правда, что в 2003 Экселе нельзя отображать все подписи элементов?

мне надо скопировать строку из такой сводной таблицы, но если это так, то как сделать, чтобы попали значения в первых столбцах, где значения сгруппированы?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как проверить, включен ли столбец в сводной таблице? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]