数据在Excel表中的筛选,也就是根据定义的条件将需要的数据记录从数据清单中选择出来,同时Excel表只显示你选择的这一部分数据,而不是全部,主要是用来对数据进行整理和分析或数据的提取的。数据筛选相当于数据库中的“查询”(Select)命令(通过子命令Where定义条件)。(Excel中定义的数据筛选源区域也就是数据清单,是有数据库中的表的概念的,表头相当于字段,表头下的每一行就是记录。)Excel中的数据筛选都需要定义筛选的条件,根据构造条件的方式不同分为自动筛选和高级筛选。自动筛选是通过对话框来构造单一条件,操作比较直观简单便捷。高级筛选是通过数据筛选源数据以外的单元格区域自定义条件,可以定义多个,比较适应多条件、复杂条件的情形。Excel中的筛选,可以通过工作表选项卡区中的命令直接完成,也可以通过VBA代码完成。(其实也就是将整个筛选操作的过程录制成宏,再适当修改代码。)
1 多条件自动筛选Sub Filter_MoreCriteria()Dim Crit As VariantApplication.ScreenUpdating = FalseWith Worksheets(1)If .FilterMode = True Then .ShowAllData.Range("A1").AutoFilter Field:=1, Criteria1:="1243301", Operator:=xlOr, Criteria2:="1288178".Range("B1").AutoFilter Field:=2, Criteria1:="ORA"End WithApplication.ScreenUpdating = TrueEnd Sub
1498208459128217.jpg
(44.96 KB, 下载次数: 0, 售价: 1 金钱)
2 高级筛选提取唯一值
Sub 高级筛选提取唯一值()Dim X As IntegerColumns(13).ClearX = Range("A" & Cells.Rows.Count).End(xlUp).RowRange("A1:A" & X).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("M1"), Unique:=TrueEnd Sub
1498208472784770.jpg
(71.9 KB, 下载次数: 0, 售价: 2 金钱)
3 代码要点使用AutoFilter或AdvancedFilter方法完成自动筛选或高级筛选:工作簿.单元格对象.AutoFilter ...工作簿.单元格对象.AdvancedFilter ...以上代码完成的如下命令的功能:数据→筛选…数据→高级筛选...(如果不熟悉相关VBA代码,可以通过“录制宏”的方式先录得代码,再适当改动即可。
4 筛选的工作表选项卡区图标命令操作4.1 自定义筛选对某列定义筛选条件实现筛选;4.2 高级筛选4.2.1 建立条件区域(与需要筛选的数据清单分开);4.2.2 可以将筛选结果复制到其它区域;4.2.3 指定需要筛选的列表区域;4.2.4 指定条件区域; |