美文网首页
Excel vba 筛选相关

Excel vba 筛选相关

作者: KariusJandrick | 来源:发表于2021-07-22 14:19 被阅读0次

模糊筛选

用通配符,条件写成 “*aaa*” 这种,前面用等号不是用 like
下面写一下通配符吧,免得忘了
* :表示任意多个字符(可以为0个)
? :表示任意一个字符(必须为1个)
# :表示任意一个数字(必须为1个)
! :逻辑非,表示不是,如[!0-9]表示非数字
[] :表示一个范围,如[A-Z a-z]表示全部字母

单列筛选单值

sheet.Range(sheet.Cells(1, 1), sheet.Cells(rows, cols)).AutoFilter Field:=列号, Criteria1:=条件

单列筛选两值

ActiveSheet.Range("$A$1:$DS$20").AutoFilter Field:=123, Criteria1:="=A", Operator:=xlOr, Criteria2:="=B"

单列筛选多值

ActiveSheet.Range("$A$1:$DS$20").AutoFilter Field:=123, Criteria1:=Array("A", "B", "D"), Operator:=xlFilterValues

多列筛选

把上面三个连起来用,中间别关闭筛选就行。

获取筛选后数据的行数

sheet.Range(sheet.Cells(1, 1), sheet.Cells(rows, cols)).SpecialCells(xlCellTypeVisible).Cells.Count - 1

筛选并复制粘贴数据

With Selection
     .AutoFilter Field:=7, Criteria1:=dic(CStr(msh.OLEObjects("ListBox1").Object.List(i)))
     .SpecialCells(xlCellTypeVisible).Copy msh3.Range("A" & fSheetLastRow(msh3) + 1)
End With

关闭筛选

sheet.AutoFilterMode = False

Sheets(SH_EXTRACT_MOM).Range("$A$10:$" & EXTRACT_MOM_COLL_LAST & "$" & extract_rows).AutoFilter

相关文章

网友评论

      本文标题:Excel vba 筛选相关

      本文链接:https://www.haomeiwen.com/subject/mpjjmltx.html