【发布时间】:2021-05-22 04:42:29
【问题描述】:
我正在尝试按下拉列表中设置的值对列进行排序。 我已经让它适用于一列。
在单元格中设置的值:B1 从 A5 中对 A 列进行排序并隐藏不包含该值的单元格。
但我希望能够通过 B1 中的值对多列(A、B 和 C)进行排序,并隐藏所有不包含该特定值的行。见附图。关联: https://i.stack.imgur.com/9NqC3.png
工作代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1")) Is Nothing Then
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
If Len(Range("B1").Value) > 0 Then Range("A5", Range("A" & Rows.Count).End(xlUp)).AutoFilter Field:=1, Criteria1:=Range("B1").Value
End If
End Sub
【问题讨论】:
-
不清楚你真正想要完成什么。您要排序还是过滤?如果要过滤,是否要同时过滤讨论中的所有列?是否要根据能够指定列的特定条件一次过滤每一列?
-
我只是希望能够同时过滤所有列。
-
我在 A、B 和 C 列中有不同的值,并且想要隐藏/过滤所有不包含单元格 B1 下拉列表中数据的行。
-
“B1”的值怎么看?
-
您没有回答我的澄清问题...如果您说您向我们展示的代码正在运行,并且您需要隐藏过滤列值不等于某些值的行,则值为“ B1”应该类似于“Test”...如果是,请测试我发布的代码。