Добрый день!
Есть большая сводная таблица. В ней в области фильтров есть поле "Валюта договора". Если делать простой выбор из списка - все отрабатывает корректно. Если зажать галку "выделить несколько элементов" - пишет ошибку на второй строке. CurrentPageName в этом случае не определено.
[vba]Код
Public Function ExistsFieldCrDog() As Boolean
If ActiveSheet.PivotTables(1).PivotFields("[Валюта договора].[Валюта].[Валюта]").CurrentPageName = "[Валюта договора].[Валюта].[All]" Then
ExistsFieldCrDog = True
Else
ExistsFieldCrDog = False
End If
End Function
[/vba]
Решила проблему временно следующим образом:
[vba]Код
Public Function ExistsFieldCrDog() As Boolean
If ActiveSheet.PivotTables(1).CubeFields("[Валюта договора].[Валюта]").EnableMultiplePageItems Then
ExistsFieldCrDog = True
ElseIf ActiveSheet.PivotTables(1).PivotFields("[Валюта договора].[Валюта].[Валюта]").CurrentPageName = "[Валюта договора].[Валюта].[All]" Then
ExistsFieldCrDog = True
Else
ExistsFieldCrDog = False
End If
End Function
[/vba]
Но хотелось бы узнать как это сделать по-человечески и правильно.
Заранее прошу отнестись с пониманием и разжевать все доступно, так как с vba у меня знакомство даже не поверхностное, а еще хуже.
[moder]Здесь смотрите