Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 文轩馨婷

[已解决]修改代码——关于筛选的精确/模糊查找

[复制链接]
 楼主| 发表于 2014-6-30 12:01 | 显示全部楼层
大灰狼1976 发表于 2014-6-27 21:47
录制这个宏的原因是,比较惭愧,很多简单的功能因为实在太简单了,反而我不会去记代码,
用的时候录制个宏 ...

老师
今天想重新设个自动筛选——就您所设代码有几个地方没搞清楚,求解释

Range("a5:h" & [a65536].End(3).Row + 1).Clear 这句是什么意思?

UsedRange.AutoFilter Field:=j  这句是什么意思?


回复

使用道具 举报

发表于 2014-6-30 13:41 | 显示全部楼层
Range("a5:h" & [a65536].End(3).Row + 1).Clear  '将A5至H列有数据的最末行清空
UsedRange.AutoFilter Field:=j   'j为变量,对j列进行自动筛选,还有后半句是筛选条件

评分

参与人数 1 +3 收起 理由
文轩馨婷 + 3 知道了,谢谢!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-6-30 15:46 | 显示全部楼层
大灰狼1976 发表于 2014-6-30 13:41
Range("a5:h" & [a65536].End(3).Row + 1).Clear  '将A5至H列有数据的最末行清空
UsedRange.AutoFilter Fi ...

............
那老师还得麻烦您帮忙看看我附件为什么用工号就筛选不出来?——是哪句代码错啦?
工号筛选问题.png
姓名可以.png

人事筛选.zip

85.64 KB, 下载次数: 22

回复

使用道具 举报

发表于 2014-6-30 16:43 | 显示全部楼层
改成文本格式就行了,附件请测试

人事筛选.zip

64.2 KB, 下载次数: 52

评分

参与人数 1 +3 收起 理由
文轩馨婷 + 3 谢谢!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-6-30 17:30 | 显示全部楼层
本帖最后由 文轩馨婷 于 2014-6-30 17:34 编辑
大灰狼1976 发表于 2014-6-30 16:43
改成文本格式就行了,附件请测试

.................

打开后没VB?
打开压缩文件.png
打开后.png
VBA.png
回复

使用道具 举报

发表于 2014-7-1 14:51 | 显示全部楼层
在我这边是好的,要不你直接用原来的,然后把我修改过的“考勤”工作表的A列工号复制到原来的表里面。
代码本身我没有作修改。

评分

参与人数 1 +3 收起 理由
文轩馨婷 + 3 谢谢!的确可以筛选

查看全部评分

回复

使用道具 举报

发表于 2017-7-26 17:09 | 显示全部楼层
大灰狼1976 发表于 2014-6-27 21:47
录制这个宏的原因是,比较惭愧,很多简单的功能因为实在太简单了,反而我不会去记代码,
用的时候录制个宏 ...

你好,请问这几句是什么意思?
  • Next j
  •   .Range("a2:h" & .[a65536].End(3).Row).Copy [a5]
  •   .UsedRange.AutoFilter

回复

使用道具 举报

发表于 2017-7-26 17:16 | 显示全部楼层
zhengyixin 发表于 2017-7-26 17:09
你好,请问这几句是什么意思?
  • Next j

  • 大哥,你竟然把2014年的贴子翻了出来啊。
    • Next j    '循环体不解释
    •   .Range("a2:h" & .[a65536].End(3).Row).Copy [a5]    '将某个工作表的A2:H最下面有数据的行复制到本工作表的A5为首的单元格
    •   .UsedRange.AutoFilter   '数据区域设置自动筛选

    回复

    使用道具 举报

    发表于 2017-7-27 10:01 | 显示全部楼层
    大灰狼1976 发表于 2017-7-26 17:16
    大哥,你竟然把2014年的贴子翻了出来啊。
  • Next j    '循环体不解释

  • 我把你写得代码进行了我需要的修改,但在查询的时候会出错,麻烦你帮我看的一下。
    我的功能是把所有工作表汇总到“查询筛选”表中,再在“查询筛选”表中进行查询,但查询的时候无法像你给的模板那样子,格式也出错,麻烦大神帮我看一下哈,万分感谢!

    档案管理系统.zip

    66.53 KB, 下载次数: 10

    回复

    使用道具 举报

    发表于 2017-7-27 10:34 | 显示全部楼层
    1. Sub aaa()
    2. Dim j&, wc, name, rng As Range
    3. wc = ThisWorkbook.Sheets.Count
    4. With Sheets(wc)
    5.   Set rng = .Range("a4:j" & .[b65536].End(3).row)
    6.   If .Cells(2, 4) <> "" Then rng.AutoFilter Field:=6, Criteria1:=.Cells(2, 4).Value Else rng.AutoFilter Field:=6 '日期
    7.   If .Cells(2, 5) <> "" Then rng.AutoFilter Field:=9, Criteria1:=.Cells(2, 5).Value Else rng.AutoFilter Field:=9 '是否借阅
    8.   For j = 2 To 3
    9.     If .Cells(2, j) <> "" Then rng.AutoFilter Field:=j + 1, Criteria1:="*" & .Cells(2, j) & "*" Else rng.AutoFilter Field:=j + 1
    10.   Next
    11. End With
    12. End Sub
    复制代码
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

    GMT+8, 2024-5-3 23:57 , Processed in 0.254959 second(s), 11 queries , Gzip On, Yac On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表