从数据表中删除零值(Microsoft Excel)
Robert想要一个宏,该宏查找数据表中所有值为零的单元格实例,然后删除这些单元格。他想知道如何去做。
出于本技巧的目的,我将假设罗伯特实际上是想清除单元格中的值,而不是实际上删除单元格。
此外,我将假定他不想只隐藏零值,这可以通过在Excel中进行简单的设置更改轻松完成。
(其他_ExcelTips_中介绍了如何执行此操作。)
实际上,您有几种方法可以摆脱零值。一种方法甚至不使用宏,而是依靠Excel的“查找和替换”功能:
。按Ctrl + H。 Excel将显示“查找和替换”对话框的“替换”选项卡。
。单击选项按钮以展开对话框。 (请参见图1。)
。在“查找内容”框中,输入0。 。确保“替换为”框为空。
。选中“匹配整个单元格内容”复选框。
。单击全部替换以执行替换。
您甚至可以根据需要将以上步骤转换为简短的小宏:
Sub ReplaceZeros() Cells.Replace What:="0", Replacement:="", _ LookAt:=xlWhole, SearchOrder:=xlByRows End Sub
这种方法的完成方式受到限制,最值得注意的是,它将仅替换实际包含0值的单元格。它不会替换解析为0的公式。例如,如果一个单元格包含公式= 4-4(解析为0),则“查找和替换”操作将忽略它,因为该单元格中实际上没有0值。
如果您想要某种东西实际上可以清除包含0或解析为0的单元格,那么您将需要另一种宏方法。这是一个好例子:
Sub DeleteZeroes() Dim rCell As Range For Each rCell In Selection If rCell.Value = 0 Then rCell.ClearContents End If Next End Sub
若要使用宏,只需选择要影响的单元格,然后运行宏。
||||查找每个选定的单元格并删除包含0值的任何单元格的内容-在这种情况下,该单元格还包含任何可解析为0的公式。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本提示(13437)适用于Microsoft Excel 2007、2010、2013和2016。