应用场景:
表格中列数较多,特定条件下隐藏一些无关的列,只保留相关的列,使表格更加清晰。
示例:原表格如下
点击一年级,只显示一年级相关的科目:
点击二年级,只显示二年级相关的科目:
代码如下:
开发工具-VB编辑器-左侧,双击sheet页,在编辑框里输入如下代码,保存即可
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Me.Range("D11")) Is Nothing Then
' 先把所有列都显示出来,再执行隐藏特定列
Columns.EntireColumn.Hidden = False
Range("H1:M1").EntireColumn.Hidden = True
'Range("C8").Interior.Color = RGB(248, 150, 171)
ElseIf Not Intersect(Target, Me.Range("D17:E21")) Is Nothing Then
' 先把所有列都显示出来,再执行隐藏特定列
Columns.EntireColumn.Hidden = False
Range("H1,I1:J1").EntireColumn.Hidden = True
Else
Columns.EntireColumn.Hidden = False
End If
End Sub