EXCEL用VBA筛选数字和日期及介于某某之间

Sub 一键取消各列筛选()
ActiveSheet.ListObjects("接单记录表").Range.AutoFilter Field:=1
ActiveSheet.ListObjects("接单记录表").Range.AutoFilter Field:=2
ActiveSheet.ListObjects("接单记录表").Range.AutoFilter Field:=3
Range("A3:C3").Select
Selection.ClearContents
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$3" Or Target.Address = "$B$3" Or Target.Address = "$C$3" Then
If Target.Value = "" Then '判断为空时...
Application.EnableEvents = False '让事件失效
ActiveSheet.ListObjects("接单记录表").Range.AutoFilter Field:=Target.Column - 1 '取消筛选
Application.EnableEvents = True '让事件失效
Else
Selection.Copy '拷贝
ActiveSheet.ListObjects("接单记录表").Range.AutoFilter Field:=Target.Column - 1, Criteria1:="=*" & Target.Value & "*", Operator:=xlAnd '筛选
End If
End If

End Sub

上述代码是我现在用来做筛选的,这样(Criteria1:="=*" & Target.Value & "*", Operator:=xlAnd)情况下可以筛选文本包含,不能筛选数字,我想如何改下公式既能筛选文本又能筛选数字,而且当A3输入50,A4为空时只筛选出结果为50的,A3为50,A4为500时筛选所有50-500的结果,当B3输入2015-01-01只筛选出1月1日这一天的结果,当B4数据为2015-07-15时筛选出1月1日至7月15日的结果,不知是否描述清楚,盼解答,谢谢!

表格发我,并说清除要实现什么效果,给你写段比较高效代码。
Crazy0qwer@qq.com

温馨提示:内容为网友见解,仅供参考
无其他回答

excel表格怎么按时间段筛选,最好用VBA,比如一张表格包含名字,工序,时间...
在日期这列点筛选箭头,自定义 输入两个条件,一是大于等于起始日期,二是小于等于终止日期 两个条件的关系是 与 确定就可以了

excel中用VBA自定义公式计算查找数值中最大值或者最大值与最小值间隔...
1、最大时间:Function Maxtime(Rng As Range)Application.Volatile Dim Cell As Range, UnioCell As Range With Sheets("Sheet1")For Each Cell In .Range("A2:A" & .Cells(Rows.Count, 1).End(xlUp).Row)If Cell = Rng Then If UnioCell Is Nothing Then Set UnioCell = Cell.Offset(...

Excel如何使用VBA判断当前单元格的类型是日期、文本还是数字
不必用VBA,直接用函数:比如你需要判断的数据在A1,可以B1输入公式进行判断:判断文本的公式:=ISTEXT(A1)判断数字的公式:=ISNUMBER(A1)判断日期的公式:=IF(LEFT(CELL("format",A1))="D",IF(--RIGHT(CELL("format",A1))<6,TRUE))显示TRUE则是,显示TRUE则是FALSE 则不是。

如何在excel中已知一堆数字,然后筛选出某几个数字加起来的和在一固定...
复制以上代码,打开excel文件,按alt+F11键,在上方菜单中选择插入模块,粘贴该代码,按F5运行即可。

Excel VBA编程,通配符,批量替换、筛选所有数字、字母、常见标点符号、中...
True For j = 2 To 5 Select Case j Case 2 s = "[^\一-\龥]" '取汉字 Case 3 s = "\\D" '取数字 Case 4 s = "[^a-zA-Z]" '取字母 Case 5 s =

Excel使用VBA宏查询包含指定内容的值
Sub main()x = Range("A65536").End(xlUp).Row ReDim arr(1 To x, 1 To 5)brr = Range("A1:E" & x)For i = 2 To UBound(brr)If Left(Cells(i, 5).Value, 4) = "2002" Then k = k + 1 For j = 1 To 5 arr(k, j) = brr(i, j)Next j End If Next i Rang...

Excel 如何用VBA实现筛选并存到另一个sheet的指定位置
使“数据”--“筛选”--“自动筛选”,做到如上图所示位置后,在G列筛选,筛选完成后使用“宏”就可以把内容复制到sheet2表中。宏的程序如下:Sub Macro1()'' Macro1 Macro ' 宏由 tsl 录制,时间: 2012-2-23 ''Columns("B:AP").Select Selection.Copy Sheets("Sheet2").Select Columns("...

Excel VBA根据指定单元格自动筛选数据?
参考下面处理 Excel如何用数据有效性筛选数据到新表

Excel vba如何设定用指定数字替代日期
Excel vba设定用指定数字替代日期,其实就是提取后判断处理再组合的一个过程。VBA代码如下:Sub ZDate()EndRow = Range("A65536").End(xlUp).RowFor i = 1 To EndRowStr1 = Range("A" & i)Y = Mid(Str1, 4, 1)M = Month(Str1)D = Day(Str1)If M >= 10 Then M = Chr(M +...

Excel VBA学习笔记05_数据自动筛选(AutoFilter)
12. 筛选图标:Range("d1").AutoFilter Field:=4, Criteria1:=ActiveWorkbook.IconSets(xl3Arrows).Item(1), Operator:=xlFilterIcon 13. 筛选大于平均值的值:Range("d1").AutoFilter 4, xlFilterAboveAverage, xlFilterDynamic 14. 筛选所有1月的日期:Range("d1").AutoFilter 5, xlFilter...

相似回答