允许在受保护的Excel工作表中使用展开/折叠按钮

时间:2016-06-16 17:22:38

标签: excel vba excel-vba pivot-table

我需要使用宏来保护/取消保护excel文件,但是在文件受到保护时我仍然需要能够使用展开/折叠按钮。这是图片:

collapse/expand buttons

以下是我正在使用的代码:

Sub IPMR()
'
' IPMR Macro
'
    Sheet1.Unprotect Password:="XXX"
'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("FacilityName"). _
        ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("FacilityName").CurrentPage _
        = "Inst of Physical Med and Rehab"

        Set pt = ActiveSheet.PivotTables("PivotTable1")
        Set pf = pt.RowFields("Row Labels")
        pf.EnableItemSelection = True

    Sheet1.Protect Password:="XXX"
End Sub

但是,当我使用它时,我收到错误:无法获取数据透视表类的RowFields属性。请指导。谢谢。

1 个答案:

答案 0 :(得分:0)

这不是定义行标签的正确方法,您应该有一个标题,请尝试以下代码:

Sub showDetailsinPT()
'I think your title in row lables is FacilityName?
Dim TotalPTItem As PivotItems: Set TotalPTItems = ActiveSheet.PivotTables("PivotTable1").PivotFields("FacilityName").PivotItems
Dim CounterPTItem As PivotItem

For Each CounterPTItem In TotalPTItems
CounterPTItem.ShowDetail = True
Next CounterPTItem
End Sub

工作代码图片: enter image description here