excel - 从工作表中的所有数据透视表中删除(空白)
问题描述
我在工作表中有 5 个以上的数据透视表,其中一些单元格有一个空的源单元格,并以典型(空白)显示。我希望数据透视表显示一个空单元格而不是单词(空白)。
我已经查看了其他解决方案,但他们要求删除空行或过滤表格等。
我发现的最接近的东西是在 Excel VBA 下从 Pivotable Group 中删除空白
但在此解决方案中,识别出单个列,我需要将其应用于所有数据透视表。
尝试简单地记录宏步骤,但是当我尝试重新运行宏时,在 ExecutExcel4Macro 行上出现运行时错误 1004。
Sub HB_Erase_Blank()
'
' HB_Erase_Blank Macro
Range("D4").Select
Range("D4:CA6699").Select
Selection.NumberFormat = ";;;"
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=""(blank)"""
Selection.FormatConditions(Selection.FormatConditions.Count).
SetFirstPriority
ExecuteExcel4Macro "(2,1,"";;;"")"
Selection.FormatConditions(1).StopIfTrue = False
End Sub
解决方案
在实际字段(行/列)而不是值中,如果您想(blank)
显示为空单元格,则秘密是条件格式。
- 突出显示要格式化的数据透视表
- 在
Home
功能区的选项卡下选择Conditional Formatting
- 选择
New Rule
- 选择
Format only cells that contain
- 更改
between
为equal to
- 在输入框中
(blank)
准确输入。 - 更改填充格式以适应数据透视表的背景(即:白色背景,填充白色)。当单词(空白)出现时,这将给出一个空单元格的外观。
要通过 VBA 执行此操作,您可以使用以下代码。它的完成方式可能并不完美,但它应该可以正常工作。它会在everysheet 中找到每个数据透视表,并查找(blank)
并有条件地将其格式化为白色(背景和字体),如果您需要其他颜色,请更改该颜色。
Sub HideBlank()
Dim Pivot As PivotTable
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
For Each Pivot In sh.PivotTables
Pivot.TableRange1.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=""(blank)"""
With Pivot.TableRange1.FormatConditions(1).Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With Pivot.TableRange1.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Next
Next
End Sub
推荐阅读
- ios - 在ios中的Objective c中集成Swift库“在类型对象上找不到属性”
- ios - 从 cellForRowAt 移除开关
- java - 错误:无法从静态上下文引用非静态变量 super >>但我使用静态关键字
- angular - Angular 服务工厂模式
- php - 从android发布数据时缺少必需的参数
- javascript - window.scrollTo(0, 240) 不适用于 componentDidMount()
- c# - 如何编写嵌套分组数据的类型C#
- angular - 在角度材料选项卡后添加箭头 css
- prolog - 内部谓词 evaluate/2 和 evaluate2/2
- wordpress - 我丢失了我的 wordpress 网站 url,我可以从 wordpress 备份文件中获取它吗