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

Sub一键取消各列筛选()ActiveSheet.ListObjects("接单记录表").Range.AutoFilterField:=1ActiveSheet.Lis... 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
2015-07-15 · TA获得超过3299个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1310万
展开全部
表格发我,并说清除要实现什么效果,给你写段比较高效代码。
Crazy0qwer@qq.com
庆年工坊
2015-07-18 · 知道合伙人互联网行家
庆年工坊
知道合伙人互联网行家
采纳数:4233 获赞数:8928

向TA提问 私信TA
展开全部
其他都好办就是同时筛选包含50到500的文本我没办法,另外,Field:=Target.Column - 1 是什么意思?筛选前一列吗?Target是a3时怎么办呢
追问
筛选50至500的数字,不是文本,上面代码是筛选和取消筛选当前单元格所有在的列。您可以忽略这些代码,用别的方式也行。
追答
筛选当前列对话不应该-1
同时筛选包含文本和数字:
Criteria1:="=*" & Target.Value & "*", Criteria2:=Target.Value, Operator:=xlOr

筛选范围:
Criteria1:=">=" & Target.Value , Criteria2:="<=" & Target.Offset(1,0).Value, Operator:=xlAnd
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式