powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Связать две (и более) сводные таблицы между собой.
2 сообщений из 2, страница 1 из 1
Связать две (и более) сводные таблицы между собой.
    #39346238
Spyce
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Скажите пожалуйста как выполнить возможность назначать поля всем св.таблицам также как расставлены в рабочей, т.е. при изменении одной сводной меняются и все остальные сводные по полям? А также чтобы можно было менять формат значений с количества на сумму во всех сводных после изменения в одной из них?
...
Рейтинг: 0 / 0
Связать две (и более) сводные таблицы между собой.
    #39346498
Spyce
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть уже набросок кода, помогите разобраться что в коде не так. Извините я совсем новичок.


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
Option Explicit

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Set wsData = Лист3
Dim OtherPivot As PivotTable
Dim ThisPivot As PivotTable
Dim itm As PivotItem
Dim itmx As PivotItems
Dim fld As PivotField

If Target.Name <> "СводнаяТаблица1" Then Exit Sub

Set ThisPivot = Target
Set OtherPivot = wsData.PivotTables("СводнаяТаблица2")

Application.ScreenUpdating = False

For Each fld In ThisPivot.DataFields
              If fld.Name = "01.02" Then
        OtherPivot.DataFields("01.02").Visible = True
 Next
 
Application.ScreenUpdating = True

For Each fld In ThisPivot.DataFields
    If fld.Function = xlSum Then
         OtherPivot.fld.Function = xlSum
Next

Application.ScreenUpdating = True


Set itmx = ThisPivot.PivotFields("Товар").PivotItems
If OtherPivot.PivotFields("Товар").Orientation = xlPageField Then OtherPivot.PivotFields("Товар").CurrentPage = "(Все)"
For Each itm In itmx
    If itm.Visible Then
        OtherPivot.PivotFields("Товар").PivotItems(itm.Name).Visible = True
    Else
        OtherPivot.PivotFields("Товар").PivotItems(itm.Name).Visible = False
    End If
Next
Application.ScreenUpdating = True


End Sub


Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Связать две (и более) сводные таблицы между собой.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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