Страницы: 1
RSS
Круговая диаграмма по месецам, Связать круговую диаграмму с "полем со списком" возможно VBA
 
Добрый день. Спасите, помогите!

Задача такая:

Нужно выбирать из выпадающего списка (поле со списком) месяц и круговая диаграмма должна переключаться на данные из этого месяца.
Связать круговую диаграмму с "полем со списком" из вкладки "Разработчик".

Данные в диаграмму подтягиваются из сводной таблицы, а сводная таблица на основе ручной таблицы которая собирается из вкладки "база данных".

Сама диаграмма должна показывать доли от общего количество по видам и по наименованиям тоже при нажатии на + или - в самой диаграмме. Она должна показывать это так как сейчас в файле это выглядит.

Файл приложил. Вкладка рабочая "свод". Спасибо большое.
 
Всеволод Вет,
в модуль листа:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("O44")) Is Nothing Then
Call RemoveAllFieldsValue
Call AddFieldValue
End If
End Sub

в стандартный модуль:
Код
Sub RemoveAllFieldsValue()
Dim pt As PivotTable
Dim pf As PivotField
Dim df As PivotField

Set pt = ActiveSheet.PivotTables(1)

'remove calculated fields first,
'if any exist
For Each pf In pt.CalculatedFields
    For Each df In pt.DataFields
      If df.SourceName = pf.Name Then
        With df
          .Parent.PivotItems(.Name) _
            .Visible = False
        End With
        Exit For
      End If
    Next df
Next pf

For Each pf In pt.DataFields
  pf.Orientation = xlHidden
Next pf

End Sub
Sub AddFieldValue()
a = MonthName(Month(Range("O44")), False)
ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables(1).PivotFields(a), "Сумма по полю " & a, xlSum
End Sub
 
Спасибо большое, все работает, вы очень помогли!
 
evgeniygeo, здравствуйте . Столкнулся с проблемой нужно было добавить строчку в таблицу, после этого перестаёт работать настройка, которую вы сделали. Поможете?
Страницы: 1
Наверх