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)



分类:代码, 博客 标签:,

2 Responses to “Excel中通过VBA自动隐藏全0列”

  1. lsc  on 十二月 12th, 2011

    高人,太厉害了

    • 水文工具集  on 十二月 12th, 2011

      多月不更新,L高手也不更新了啊


发表评论

You must be logged in to post a comment.