excel vba 高级过滤

Sub shaixuan()
Dim database As Range '定义数据区域 Dim criteria_range As Range '定义条件区域 Dim extract_field As Range '定义结果区域 Set database = Sheets("man").Range("A1").CurrentRegion ' 数据区域 man 表格A1 据区域中的任何单元格,然后按Ctrl +A选择整个数据区域 空行空列就是CurrentRegion 边界
Set criteria_range = Range("A1", Cells(1, Range("iv1").End(xlToLeft).Column)).CurrentRegion ' 筛选区域,条件区域 当前表格 区域 A1 iv1 数据区域 碰到 空行 空列 不会选中 空行空列就是CurrentRegion 边界 Set extract_field = Range("A16", Cells(16, Range("IV16").End(xlToLeft).Column)) '结果区域
extract_field.CurrentRegion.Offset(1, 0).Clear '清空 旧结果
'
'expression.AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique)
'数据区域.AdvancedFilter(复制, 条件区域,结果区域, 一条或者多条)
'expression 必需。该表达式返回“应用于”列表中的对象之一。
'Action XlFilterAction 类型,必需。
'XlFilterAction 可为以下 XlFilterAction 常量之一。
'xlFilterCopy
'xlFilterInPlace
'CriteriaRange Variant 类型,可选。条件区域。如果省略本参数,则没有条件限制。
'CopyToRange Variant 类型,可选。如果 Action 为 xlFilterCopy,则本参数指定被复制行的目标区域。否则忽略本参数。
'Unique Variant 类型,可选。如果为 True,则重复出现的记录仅保留一条;如果为 False,则筛选出所有符合条件的记录。默认值为 False。
database.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=criteria_range, CopyToRange:=extract_field, Unique:=False
End Sub

  

Sub test()
Dim database As Range Dim criteria_range As Range Dim extract_field As Range
Set database = Sheets("DataBase").Range("A1").CurrentRegion
Set criteria_range = Range("A1", Cells(, Range("iv1").End(xlToLeft).Column)).CurrentRegion
Set extract_field = Range("A16", Cells(, Range("IV16").End(xlToLeft).Column))
extract_field.CurrentRegion.Offset(, ).Clear
database.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=criteria_range, CopyToRange:=extract_field, Unique:=False
End Sub

原件下载

百度云下载

扩展学习

对选定的单元格输入设定的内容91

Sub shaixuan()
Selection.FormulaR1C1 = ""
End Sub

excel vba 高级过滤的更多相关文章

  1. 来吧!带你玩转 Excel VBA

    来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...

  2. Excel VBA(宏):添加宏

    写在前面: .编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...

  3. Excel VBA入门(一)数据类型

    与其它的编程语言一样,VBA也有它自己的数据类型.讲到数据类型,就离不开"变量"与"常量"这两个概念,变量与常量,都是用于保存数据的.顾名思义,"变量 ...

  4. Excel VBA解读(54):排序——Sort方法

    Excel VBA解读(54):排序——Sort方法 看看下面的Excel界面截图,“排序”和“筛选”往往在一起,这大概是很多数据需要先排序后筛选吧  首先以“性别”作为排序字段,升序排列,并且第一行 ...

  5. C#调用Excel VBA宏

    近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有Excel中写VBA的,也有直接C#做的工具.有时需要在C#中执行Excel VBA宏,甚至有时还需要在执行了VBA宏之后,获取返回值再进 ...

  6. 2017-5-29 Excel VBA 小游戏

    ---恢复内容开始--- 转一个Excel VBA的小游戏,最近对excel有了更深入的了解,功能很强大,也刷新了我对待事情的态度. 一.准备界面 我们先来把游戏界面准备好,选中前4行,行高调成50, ...

  7. Excel 2010高级应用-气泡图(八)

    Excel 2010高级应用-气泡图(八) 基本操作如下: 1.新建空白文档,并命名为气泡图,找到插入中的气泡图样 2.在其他图表中找到气泡图图样 3.单击气泡图图样,生成空白气泡图框 4.在气泡图图 ...

  8. Excel 2010高级应用-圆环图(七)

    Excel 2010高级应用-圆环图(七) 基本操作如下: 1.新建空白Excel文档,并命名为圆环图 2.单击"插入",并找到圆环图图样 3.单击圆环图图样,并在空白文档上生成图 ...

  9. Excel 2010高级应用-雷达图(六)

    Excel 2010高级应用-雷达图(六) 基本操作如下: 1.新建空白Excel文档,并命名雷达图 2.单击"插入",并找到雷达图图样 3.单击雷达图图样,在空白文档上生成图框, ...

随机推荐

  1. net start sshd 发生系统错误1069--cygwin安装过程

    net start sshd 发生系统错误1069 解决方法: services.msc调出服务,然后CYGWIN sshd服务->属性,修改账户的名字和密码(win7的登录名和密码) 可能还遇 ...

  2. ios移动端浏览器点击事件失效的解决方案

    点击事件失效的原因可能是因为,你用了事件代理了, 比如这样 $(document).on("click",".fd",function(){ }) 这段代码在安 ...

  3. cassandra删除所有数据,重置为初始状态——删除<data dir>/data/* <data dir>/commitlog/* <data dir>/saved_caches/* 重启cassandra即可

    Are you looking for a method other than drop keyspace? Okay based on your clarification... I would s ...

  4. VS 一些用法设置

    /************************************************************************ * VS 一些用法设置 * 说明: * 最近要用到C ...

  5. net share

    IT知识梳理 2017-11-30 06:57:10 Dos 命令进阶(一)讲解思路 1.Net常用命令 (1)net share - 查看共享命令 net share ipc$ - 设置ipc$共享 ...

  6. asp.net Identity2 角色(Role)的使用(三)用户管理,用户控制器和视图

    修改用户控制器AccountController,增加角色管理器. public class AccountController : Controller { public AccountContro ...

  7. TS数据流PAT和PMT分析(转载)

    转自:http://www.cnblogs.com/hjj801006/p/3837435.html TS流,是基于packet的位流格式,每个packet是188个字节或者204个字 节(一般是18 ...

  8. 【原创】Elasticsearch无宕机迁移节点

    官方API文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-filtering.html 参考 ...

  9. PCB 铜皮(Surface)折线多边形扩大缩小实现(第一节)

    继续铜皮多边形的相关的算法, 如何用代码实现多边形的扩大与缩小,这部份内容准备分为四节内容来讲解, 第一节,折线多边形的扩大缩小(不包含圆弧)   此篇讲第一节 第二节,带圆弧的多边形的扩大缩小 第三 ...

  10. Ruby Time类和Date类

    Time类 更新: 2017/06/23 更新了Data/Time在model模式下的便利方法 更新: 2018/10/12 修改了%Y相关描述防止误解  年月日时分秒,时区    生成  获取当前时 ...