有没有办法编写一个能够禁用在工作簿中插入数据透视表的功能的子程序?
答案 0 :(得分:1)
这有点像黑客 - 但你可以使用以下逻辑在创建后删除:
Workbook_SheetChange
事件并测试Target
范围是否有PivotTable
属性PivotTable
的{{1}}并删除TableRange2
Range
个事件代码(在Workbook_SheetChange
中):
ThisWorkbook
删除包含数据透视的范围的代码(在Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Not Target.PivotTable Is Nothing Then
RemovePivotFromRange Target
End If
End Sub
中):
Module
答案 1 :(得分:0)
如果删除Excel上的数据透视表插入符合您的目的,请尝试
文件菜单>选项>自定义Rebbions>展开“插入”(右侧)>选择“表格”,然后单击“删除”按钮。
请注意,这将删除表格插入选项:(
答案 2 :(得分:0)
如果不启用“使用数据透视表报告”选项,则可以protect the worksheets。这将禁用与Pivot相关的功能区按钮。
如果您更喜欢VBA,以下代码应该可以解决问题。
Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
If Target.VisibleFields.Count = 0 Then
Debug.Print "Blocked creation of Pivot " & Target.Name & " on sheet " & Sh.Name
Target.TableRange2.Clear
End If
End Sub