如何对数据进行筛选,根据该选择单元格使用VBA在Microsoft Excel的
|在本文中,您将学习如何根据单元格的选择来过滤数据。
您需要执行以下步骤:
单击“开发人员”选项卡。从“代码”组中,选择“ Visual Basic”
在当前工作表中输入以下代码(在我们的示例中为sheet1)
私人子Worksheet_BeforeDoubleClick(ByVal目标为范围,取消为布尔值)
昏暗的xcolumn作为整数
Dim xvalue作为字符串
xcolumn = ActiveCell.Column
xvalue = ActiveCell.Value
如果Application.Intersect(ActiveCell,[headers])没有,则
如果ActiveCell.Value <>“”然后
ActiveSheet.Range(“ A:d”)。AutoFilter字段:= xcolumn,Criteria1:= xvalue
取消=真
如果
结束
如果
结束
结束子
===
===
私有子Worksheet_SelectionChange(按目标的ByVal目标)
昏暗的行号作为整数
行号= ActiveCell.Row
如果Application.Intersect(ActiveCell,[headers])没有,则
如果ActiveCell.Value <>“”然后
Range(“ A1:D13”)。Interior.ColorIndex = xlNone
Range(“ A”&rownumber&“:D”&rownumber).Interior.ColorIndex = 6
如果
结束
如果
结束
结束子
注意:上面代码中的标题代表范围A1:D1的命名范围,您可以简单地选择范围A1:D1并在“名称”框中键入标题,也可以在“公式”选项卡中使用“定义的名称”
每当用户在任何一个单元格上双击时,BeforeDoubleClick *事件都将触发,它将改变对搜索的过滤。
-
如果要按产品C筛选数据,则可以轻松双击单元格D4来筛选搜索。
如果我们要按列C和产品KFCWW筛选搜索,那么我们将双击单元格C4来缩小数据范围。
每当用户选择任何单元格时,都会激活SelectionChange *事件,并且它将颜色从白色更改为黄色。如果活动单元为空,则代码将不会运行。
-
如果单击单元格B3,则该行将以黄色突出显示。请参阅下面的快照
在这里,您可以看到编辑栏显示选定的单元格,即单元格B3。这样,您可以单击以突出显示行,并使用VBA代码根据单元格的选择对数据进行过滤。