【发布时间】:2016-08-16 23:46:35
【问题描述】:
在 Excel 数据透视表中,当我在报表筛选器中选择多个项目时,Excel 只会显示我选择了多个项目。
数据
我可以选择多个项目:
但是,一旦选择完成,我看不到我选择了哪些元素。
我想显示哪些项目被选中,例如打印报告时。我找到了一种使用 VBA 和用户定义函数的方法。
Function GetVisibleItems(FieldName As String) As String
Dim PivotTable As PivotTable
Set PivotTable = ActiveSheet.PivotTables(1)
Dim PivotField As PivotField
Set PivotField = PivotTable.PivotFields(FieldName)
Dim PivotItem As PivotItem
Dim Result As String
For Each PivotItem In PivotField.PivotItems()
If PivotItem.Name <> "(blank)" Then
If PivotItem.Visible Then
If Len(Result) > 0 Then Result = Result & ", "
Result = Result & PivotItem.Name
End If
End If
Next
GetVisibleItems = Result
End Function
是否可以只使用 Excel 公式而不是 VBA 获得相同的结果?
【问题讨论】:
-
我已经多次阅读您的问题,并且我不断地回过头来 - 在 Excel 中,您可以看到哪些项目是可见的!我认为我们需要一些上下文 - 你会使用包含可见项目列表的单元格来做什么?
-
您可以在单击该字段时查看哪些项目是可见的。但是,当您打印出工作表时,您不再可以看到报告所基于的选择。这就是为什么我想在单独的字段中查看实际选择的原因。如果我可以在纯 Excel 中做到这一点,我就不必分发
.xlsm-file。 -
你能模拟一个你正在寻找的简单例子吗?我试图提供一个答案,但我认为我在你的问题中遗漏了一些东西。
-
我刚刚意识到 Excel 可以解决我的问题。不需要公式。只需使用切片器。
标签: vba excel excel-formula pivot-table