这里提供一个基本的 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/lKpb 著作权归作者所有。请勿转载和采集!

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