EXCEL在改動某幾個單元格時隱藏空列
阿新 • • 發佈:2018-02-03
程序 編寫 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在改動某幾個單元格時隱藏空列