继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

EXCEL在改动某几个单元格时隐藏空列

CandyBullet
关注TA
已关注
手记 19
粉丝 35
获赞 157
概述

今天我哥来找我帮他搞下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 就表示你改动的单元格。

打开App,阅读手记
6人推荐
发表评论
随时随地看视频慕课网APP