Excel中通过VBA自动隐藏全0列
使用Excel制表时,经常会遇到需要将全部为0的列隐藏,从而减少表格的冗余数据,但是Excel本身并未提供相应的命令来完成(不是简单的通过条件格式隐藏单元格),这里水文工具集编写了一段小小的VBA代码,可以实现这一功能,具体VBA源代码如下:
Option Explicit
'================================
' VBA中隐藏全0列
'
'
'================================
Function canHide(rng As Range, j As Integer) As Boolean
Dim i As Integer
canHide = True
For i = 1 To rng.Rows.Count
If rng.Cells(i, j).Value <> 0 Then
canHide = False
Exit For
End If
Next
End Function
Sub hideTable()
Dim j As Integer
Dim rng As Range
Set rng = Selection
For j = 1 To rng.Columns.Count
rng.Columns(j).EntireColumn.Hidden = canHide(rng, j)
Next
End Sub
注:稍加修改也可以实现隐藏全部为0的行,或者是依据其它条件进行隐藏。
文件下载:VBA实现全0列隐藏 (2836)



lsc on 十二月 12th, 2011
高人,太厉害了
水文工具集 on 十二月 12th, 2011
多月不更新,L高手也不更新了啊