Sub 数据透视表的相关操作VBA程式代码段()
Rem PivotTables(1) 代表第一个数据透视表,这样就可以不用写名字了
Rem 分类汇总
For Each i In ActiveSheet.PivotTables(1).PivotFields
i.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False) '不显示分类汇总
'i.Subtotals = Array(True, False, False, False, False, False, False, False, False, False, False, False) '在组的底部显示所有分类汇总
Next
ActiveSheet.PivotTables(1).SubtotalLocation xlAtTop '在组的顶部显示所有分类汇总
Rem 总计
With ActiveSheet.PivotTables(1)
.ColumnGrand = False '对列禁用总计
.RowGrand = False '对行禁用总计
' .ColumnGrand = True '对列启用总计
' .RowGrand = True '对行启用总计
End With
Rem 报表布局
' ActiveSheet.PivotTables(1).RowAxisLayout xlCompactRow '以压缩形式显示
' ActiveSheet.PivotTables(1).RowAxisLayout xlOutlineRow '以大纲形式显示
ActiveSheet.PivotTables(1).RowAxisLayout xlTabularRow '以表格形式显示
ActiveSheet.PivotTables(1).RepeatAllLabels xlRepeatLabels '重复所有项目标签
' ActiveSheet.PivotTables(1).RepeatAllLabels xlDoNotRepeatLabels '不重复项目标签
Rem 空行
For Each i In ActiveSheet.PivotTables(1).PivotFields
' i.LayoutBlankLine = True '在每个项目后插入空行
i.LayoutBlankLine = False '删除每个项目后的空行
Next
Call 格式调整_针对此Sheet_冻结首行
End Sub
Function 格式调整_针对此Sheet_冻结首行()
With Cells
.Font.Name = "微软雅黑" '字体
.Font.Size = 10 '字号
.HorizontalAlignment = xlCenter '水平居中
.VerticalAlignment = xlCenter '垂直居中
.EntireColumn.AutoFit '自适应列宽,自动调整
End With
Rem 如果是WPS,那么下面的代码可能会报错,不过无伤大雅,只是冻结窗格的应用
With ActiveWindow
'.ScrollRow = 1 '当前窗口最上面的行号,相当于移动最右侧的滚动条
.SplitColumn = 0 '拆分(冻结)窗口,保留第几列
.SplitRow = 1 '拆分(冻结)窗口,保留第几行
End With
ActiveWindow.FreezePanes = True '微软官方:这是可能的FreezePanes是真正的和拆分为假,反之亦然。如果拆分窗格被冻结,则为True。读/写布尔值。
ActiveSheet.UsedRange.Borders.LineStyle = xlContinuous '添加全部框线
Range("A1").Select
End Function