我正在尝试在Excel 2016中创建一个宏,该宏根据包含在不同单元格中的下拉列表自动显示/隐藏列 . 下拉(在单元格“K7”中)当前正在使用Excel的数据验证,引用不同工作表中的几千个单元格(即文本)的范围 .
这是我当前的代码(感谢Busse!),我知道它没有自动显示/隐藏功能,可以根据用户在单元格“K7”中选择的内容进行即时显示/隐藏:
Sub Hide_Columns_Containing_Value()
Dim c As Range
For Each c In Range("R3:GJU3").Cells
If c.Value Range("K7").Value Then
Columns(c.Column).EntireColumn.Hidden = False
End If
Next c
End Sub
谢谢您的帮助!
1 回答
在工作表中添加
Worksheet_Change
事件 . 如果只想显示第3行中的值与K7匹配的列,则可以简化一点(不需要If
语句) .请注意,要获取列范围,您可以编写
Columns(R.Column)
或R.EntireColumn
.如果R3:GJU3范围内可能存在错误,请改用它 . 在这里,如果出现错误,则会隐藏该列,但可以显示该列 .