1. 程式人生 > >EXCEL在改動某幾個單元格時隱藏空列

EXCEL在改動某幾個單元格時隱藏空列

程序 編寫 excel表 else abc 技術 運行 target gpo

概述

今天我哥來找我幫他搞下excel表格,本著程序猿對程序無所不能的精神,我爽快的答應了。結果查了半天才搞定。現在記錄在此,供自己以後參考,相信對其他人也有用。

PS:這幾天正在弄博客,馬上就要弄完啦,弄完就把這些手記搬到博客上面啦!

說明

EXCEL的條件格式不能改變單元格的高寬,不能刪掉單元格,不能隱藏單元格。

要實現這些功能需要用VBA編寫宏,其中用到了EXCEL的Change事件。

EXCEL的Change事件是當改變單元格時自動運行的,不需要綁定按鈕。

用法

右鍵點擊工作表的標簽,然後點擊“查看代碼”,然後分別選擇“Worksheet”和“Change”,如下圖。最後貼入代碼即可。

技術分享圖片
技術分享圖片

代碼

以下代碼將更改的單元格的顏色設為藍色。

Private Sub Worksheet_Change(ByVal Target as Range) 
    Target.Font.ColorIndex = 5 
End Sub

以下代碼將在改動EXCEL的C1單元格和G1單元格時,隱藏D4到AH4列之間的空列

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim abc As String
    Dim rng As Range
    abc = Target.Address
    If abc = "$C$1" Or abc = "$G$1" Then
        For Each rng In [D4:AH4]
            If rng.Value = "" Then
                rng.EntireColumn.Hidden = True
            Else
                rng.EntireColumn.Hidden = False
            End If
        Next
    End If
End Sub

註意:Private Sub Worksheet_Change(ByVal Target As Range)這一行不能改動;其中Target 就表示你改動的單元格。

EXCEL在改動某幾個單元格時隱藏空列