excel vba 高级过滤
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 高级过滤的更多相关文章
- 来吧!带你玩转 Excel VBA
来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...
- Excel VBA(宏):添加宏
写在前面: .编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...
- Excel VBA入门(一)数据类型
与其它的编程语言一样,VBA也有它自己的数据类型.讲到数据类型,就离不开"变量"与"常量"这两个概念,变量与常量,都是用于保存数据的.顾名思义,"变量 ...
- Excel VBA解读(54):排序——Sort方法
Excel VBA解读(54):排序——Sort方法 看看下面的Excel界面截图,“排序”和“筛选”往往在一起,这大概是很多数据需要先排序后筛选吧 首先以“性别”作为排序字段,升序排列,并且第一行 ...
- C#调用Excel VBA宏
近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有Excel中写VBA的,也有直接C#做的工具.有时需要在C#中执行Excel VBA宏,甚至有时还需要在执行了VBA宏之后,获取返回值再进 ...
- 2017-5-29 Excel VBA 小游戏
---恢复内容开始--- 转一个Excel VBA的小游戏,最近对excel有了更深入的了解,功能很强大,也刷新了我对待事情的态度. 一.准备界面 我们先来把游戏界面准备好,选中前4行,行高调成50, ...
- Excel 2010高级应用-气泡图(八)
Excel 2010高级应用-气泡图(八) 基本操作如下: 1.新建空白文档,并命名为气泡图,找到插入中的气泡图样 2.在其他图表中找到气泡图图样 3.单击气泡图图样,生成空白气泡图框 4.在气泡图图 ...
- Excel 2010高级应用-圆环图(七)
Excel 2010高级应用-圆环图(七) 基本操作如下: 1.新建空白Excel文档,并命名为圆环图 2.单击"插入",并找到圆环图图样 3.单击圆环图图样,并在空白文档上生成图 ...
- Excel 2010高级应用-雷达图(六)
Excel 2010高级应用-雷达图(六) 基本操作如下: 1.新建空白Excel文档,并命名雷达图 2.单击"插入",并找到雷达图图样 3.单击雷达图图样,在空白文档上生成图框, ...
随机推荐
- linux下信息分屏显示
在字符界面下,经常遇到ls之后信息太长,只能看到最后一页的信息,这时就需要分屏显示了. 常用: ls | less 这样就可以分屏显示了,并可以用PgUp和PgDn来上下翻页. 也可以用: ls | ...
- DataTabless Add rows
参考官网案例:https://datatables.net/examples/api/add_row.html JS: $(document).ready(function() { var t ...
- beego6
package main //beego使用的是go语言原生的模版 import ( //_ "beego1/routers" //默认controll文件夹里面的控制器 &quo ...
- C# Stopwatch
问题一:前几天写并行计算的实际应用——通讯录的时候,用到了stopwatch来计时,发现这个计时是真正的计时. Stopwatch stopwatch = new Stopwatch(); TimeS ...
- python调用window dll和linux so例子
#!/usr/bin/python# -*- coding: UTF-8 -*-#python dll.pyimport win32api# 打开记事本程序,在后台运行,即显示记事本程序的窗口win3 ...
- Macaca框架
收藏 http://www.cnblogs.com/jinjiangongzuoshi/p/6537795.html
- 2015年沈阳网赛 Jesus Is Here(DP中的计数问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5459 题目描述:给定一个递推得来的字符串,问字符串中不同cff之间的距离之和, 递推规则: s1=c; ...
- Combo Box (组合框)控件的使用方法
Combo Box (组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本 ...
- linux下系统调用劫持ioctl
实验环境:linux 2.6.32 64位系统 采用lkm(动态加载内核模块)方式劫持ioctl系统调用,系统调用过程如图所示(以open为例子) 实验代码:(头文件有不需要的,但是懒得改了,在系 ...
- P3161 [CQOI2012]模拟工厂
传送门 先枚举选择哪些订单,然后转为判定是否可行 在能完成的情况下肯定是花越多时间提高生产力越优 我们设可以有\(x\)单位时间来提高生产力,那么如果当前离下一个订单的时间为\(T\)时,这个订单要\ ...