这里提供一个基本的 VBA 代码,可以实现筛选多个条件,并将符合条件的内容显示到其他工作表中。

前提条件:

  1. 需要先定义好筛选条件,可以是一个或多个条件。

  2. 需要指定数据源工作表和目标工作表,数据源工作表中包含需要筛选的数据。

下面是具体的 VBA 代码:

Sub FilterData()

Dim rngData As Range Dim rngCriteria As Range Dim rngResult As Range Dim wsData As Worksheet Dim wsResult As Worksheet

'定义数据源工作表和目标工作表 Set wsData = Worksheets("Data") Set wsResult = Worksheets("Result")

'定义数据源范围和筛选条件范围 Set rngData = wsData.Range("A1").CurrentRegion Set rngCriteria = wsData.Range("F1:F2")

'定义结果范围,并清空目标工作表 Set rngResult = wsResult.Range("A1") wsResult.Cells.ClearContents

'筛选数据 rngData.AutoFilter field:=3, Criteria1:=">=100" rngData.AutoFilter field:=6, Criteria1:=rngCriteria

'将筛选结果复制到目标工作表 rngData.SpecialCells(xlCellTypeVisible).Copy rngResult

'取消筛选 rngData.AutoFilter

End Sub

以上代码中,首先定义了数据源工作表和目标工作表,使用 Set 语句将它们赋值给变量 wsData 和 wsResult。然后定义了数据源范围和筛选条件范围,使用 Set 语句将它们赋值给变量 rngData 和 rngCriteria。接着定义了结果范围,使用 Set 语句将它赋值给变量 rngResult,并清空了目标工作表,以便将筛选结果填充到它里面。

接下来使用 AutoFilter 方法,根据指定的筛选条件筛选数据。可以看到,这里使用了两个筛选条件,分别是第 3 列大于等于 100,和第 6 列等于筛选条件范围中的值。

最后使用 SpecialCells 方法,选择所有可见的单元格,并将它们复制到结果范围中。

最后,取消自动筛选,以便下一次使用。

需要注意的是,这只是一个基本的例子,实际使用中需要根据具体情况进行调整。

使用vba筛选多个条件显示指定内容到其他工作表

原文地址: https://www.cveoy.top/t/topic/w99 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录