精华内容
下载资源
问答
  • Excel VBA 筛选

    2012-08-20 08:37:49
    vba的代码来实现excel筛选功能,在制作excel模版有大量数据的情况下非常有用,有效的提高查询速度
  • excel vba筛选

    千次阅读 2017-02-10 09:45:32
    excel 中有两个筛选 1、筛选vba 代码为 set rg=range("a1:a100") rg.AutoFilter Field:=1, Criteria1:="内容" rg 为筛选区域, Criteria1为筛选的值,比如在A1列内筛选内容为北京区的 ,则 Criteria1=...

    excel 中有两个筛选

    1、筛选,vba 代码为

    set rg=range("a1:a100")

    rg.AutoFilter Field:=1, Criteria1:="内容"

    rg 为筛选区域, Criteria1为筛选的值,比如在A1列内筛选内容为北京区的 ,则 Criteria1="北京区"

    2、高级筛选

     Rg.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("A1"), Unique:=True

    同理rg 为rang 区,action 有两个值,一个是不改变,一个是复制,copytoRange  就是结果复制内容到

    这里主要说复制结果,这个结果是不重复的,比如有1000行数据,里面有10个北京区,20个上海区,四川区等,他会吧内容不重复的列出了

    这两个结合起来使用 就可以达到自定义筛选了

      Rg.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("A1"), Unique:=True
        x = Range("A60000").End(xlUp).Row
    ReDim filterArray(0 To x - 1)
        For i = 0 To x - 2
        filterArray(i) = Range("A" & i + 2)
       Rg.AutoFilter Field:=1, Criteria1:=filterArray(i)

    这样就可以实现筛选自动选择内容

    展开全文
  • excel vba筛选触发事件

    2015-09-06 08:33:45
    Excel筛选会触发什么事件,我想在工作表筛选时调用宏做一些东西。
  • Excel VBA 多重筛选

    千次阅读 2019-08-13 02:40:29
    Excel VBA 多重筛选 Sub FilterOnValues() 'PURPOSE: Filter on specific values Dim rng As Range Set rng = ActiveSheet.Range("B7:D18") FilterField = WorksheetFunction.Match("Country", rng.Rows(1), 0) ...

    Excel VBA 多重筛选

    Sub FilterOnValues()
    'PURPOSE: Filter on specific values
    
    
    Dim rng As Range
    
    Set rng = ActiveSheet.Range("B7:D18")
    FilterField = WorksheetFunction.Match("Country", rng.Rows(1), 0)
    
    'Turn on filter if not already turned on
      If ActiveSheet.AutoFilterMode = False Then rng.AutoFilter
          
    'Filter Specific Countries
      rng.AutoFilter Field:=FilterField, Criteria1:=Array( _
        "Russia", "China", "Greece", "France"), Operator:=xlFilterValues
          
    End Sub
    
    Sub FilterOutValues()
    'PURPOSE: Filter out specific values (need to use Advanced Filtering)
    
    Dim rng As Range
    
    'Set variable equal to data set range
      Set rng = Me.Range("B7:D18")
    
    'Filter out certain values (filter indicators will not appear!)
      rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Me.Range("G2:J3"), Unique:=False
    
    End Sub
    

    多重筛选效果

    https://www.thespreadsheetguru.com/example-files

    有很多有用的技巧参考

    展开全文
  • Excel_VBA 筛选

    2011-06-26 01:33:20
    Excel 中 利用 VBA 进行记录筛选 避免耗时的循环对比查找。
  • 期间翻书和上网查询,怎么筛选数据,怎么另存为,怎么自动发邮件,先实现简单的需求,筛选一个数据并另存,之后再用变量去赋值进行循环,花了一天半,终于实现所有需求。后来又增加了新的需求,比如有多个不同的表格...

    大一的时候学的VB,大学毕业之后就没用过,没想到时隔多年,工作中又有需求了。

    有一个汇总表,要根据其中一列姓名筛选数据并另存为新的表格,表格按对应姓名命名后,需要再分别作为附件发给对应姓名的邮箱。

    期间翻书和上网查询,怎么筛选数据,怎么另存为,怎么自动发邮件,先实现简单的需求,筛选一个数据并另存,之后再用变量去赋值进行循环,花了一天半,终于实现所有需求。

    后来又增加了新的需求,比如有多个不同的表格,需要筛选的姓名这一列也不在同一个位置,有的在第二列,有的第三列,这样VBA自动筛选的参数列就不能直接填数字,而是必须先判断筛选列是在哪一列才能开始筛选。

    新的需求略复杂,多个循环和if判断,中途还因为操作失误把代码删除未保存,心塞了半个多小时,但好在重新振作,理顺了逻辑,耗时三天让代码顺利跑了起来,拆分了四个源数据表,共计七十多个分表。

    之后就是怎么根据分表去给不同的收件人发邮件,并且和之前的不一样,这次发件人也不一样,于是想到定制一个筛选,不用的发件人勾选自己发送,然后可以向对应的收件人发送对应的附件和正文。

    总体感觉,虽然现在VBA处于各类编程语言末端位置,但作为办公利器,vba的操作简便,网上资源也多,在办公自动化方面还是有很大优势的。以上需求用Python也能实现,但还是vba更方便一些。

    工作关系,不方便直接上代码,有时间再用自己的电脑复盘,欢迎找我讨论~

    0b63a5cdd69fec125b2116388e60e45a.png
    展开全文
  • Excel VBA之函数篇-3.16多样筛选组合任君选 筛选功能从此是路人前景提要hi,我回来了,经过了昨日晚上一夜的奔波之后,终于成功的在凌晨杀回了自己的床上,你要问我路况如何,我只能告诉你,大晚上也不轻松啊,好在...

    Excel VBA之函数篇-3.16多样筛选组合任君选 筛选功能从此是路人前景提要

    hi,我回来了,经过了昨日晚上一夜的奔波之后,终于成功的在凌晨杀回了自己的床上,你要问我路况如何,我只能告诉你,大晚上也不轻松啊,好在能够顺利到达,哈哈

    昨天我们分享了如何通过like()函数来实现数据的筛选,可能是因为昨天忙于赶车,比较着急,我看了下我好像并没有介绍完一些比较常用的功能,今天就继续来分享下like()函数再筛选方面的强大功能吧。函数说明

    like()函数的筛选是非常强大的,昨天和今天的案例中的那些筛选特点,是我综合自己日常工作中和平时帮其他同事写一些小代码的时候,总结出来的,可能并不完善,但是基本上应该够用了,当大家知道了like()函数的这些强大的功能之后,可能在之后的工作中, 会慢慢的抛弃excel自身的筛选功能,因为很多我们需要的筛选功能,它都没有办法实现。上代码

    我们还是采用上节我们的案例,当然为了演示的效果,自然还是会不断的更改一些数据

    今天我们依然来完成三个比较奇怪的要求

    1.E-G开头,m-x结尾的数量Sub B9000b()

    Dim i&

    For i = 2 To 16

    If Cells(i, "d") Like "[E-G]*[m-x]" Then

    Cells(i, "d").Interior.Color = vbYellow

    End If

    Next i

    End Sub

    效果图如上,注意我圈中的那两个了嘛?看起来非常的相似,并且好像也符合我们的要求,但是为什么上面的被选中了,但是下面的却没有被选中呢?认真学习我们分享的童鞋一定知道,如果不知道的话,出门右拐,看看上一节3.15的分享吧

    2.第5位是字母的数量

    这个要求似乎和上节的最后一个要求有点类似哦,不同的是,上节的是要求要有从第二位开始往后都是数字,但是这里仅仅是要求第5为是数字,那么如何写呢?

    我们讲过“*”代表的是占位符,霸占位置的意思,而#也是占位符,同时他也代表数字,难道正确的答案应该是“****#*”我们来试下Sub B9000b()

    Dim i&

    For i = 2 To 17

    If Cells(i, "d") Like "****#*" Then

    Cells(i, "d").Interior.Color = vbYellow

    End If

    Next i

    End Sub

    看看结果变成什么样子了

    这个结果似乎有点出乎我们的意料之外,我们仅仅是想要得到第5位是数字的订单号,但是我们来看看结果,全部都选中了,只有一个没有数字的纯英文的订单号没有被选中,而选中的结果中,有些完全不符合我们的要求,比方说test上面2个,G200Ax,第5位并不是数字,而实一个问好,这很明显不符合我们的要求,证明我们的写法存在错误,为什么会这样呢?

    这里要解释下,"*"他虽然是霸位的那个,你可以理解不管他是霸占一个位置也好,霸占5个位置也好,他都叫霸占,俺么再程序上可能就理解,他至少霸占了一个,那么看看我们的数据,至少霸占了一个,那就是第一位,从第一位开始,第二位是数字的有哪些?是不是剩下的都是属于这种情况呢?所以结果才会出现这样打的偏差,那么我们要怎么处理呢?

    今天在分享一个新的知识点,那就是另外一个特殊符号"?",他也算是占位符,但是他就属于比较老实一点的那种霸位的人,他一次只霸占一个位置,那么就是说一个"?"就代表了一个位置的意思了,那么既然第5位是数据,那么我只需要填上4个?+一个#,也就是这样的格式"????#*?",我们再代码中验证下Sub B9000b()

    Dim i&

    For i = 2 To 17

    If Cells(i, "d") Like "????#*?" Then

    Cells(i, "d").Interior.Color = vbYellow

    End If

    Next i

    End Sub

    虽然结果还是很多,但是你看看是不是都符合要求了,第5位数都是数字,不是数字的,都没有被选中,是不是很完美呢?

    3.包含?号的数量和

    既然我们前面讲到了"?"的用法,那么不可避免的就会牵扯到一个问题,如果我们要筛选的数据,刚好里面就有?,而且?又正好是我们的参考标注呢,你不要说不可能,我换个场景,假设你再处理从网络中爬取的数据的时候,有些字符因为编码的问题,你爬出来的数据可能含有各种乱七八糟的符号,其中就有可能有?,某一些英文都转化成为了?,那么你要怎么办呢?Sub B9000b()

    Dim i&

    For i = 2 To 19

    If Cells(i, "d") Like "*[?]*" Then

    Cells(i, "d").Interior.Color = vbYellow

    End If

    Next i

    End Sub

    成功的将含有?的数据找了出来,你会看到含有*。#的数据,那么这些要如何实现呢,当成一个小练习,大家模拟着上面的代码就可以实现了。

    总结

    ==========================================================================

    OK ,今天的分享就到这里了,按照计划关于like()的分享,截止到本篇就结束了,章节也是比较的多,因为like()的应用场景延伸出来还是非常的广泛的,在一些日常工作中,小编经常用来进行复杂的数据筛选和数据是否包含于某种类型的情况下使用,大家也可以结合自己的实际场景使用需求来灵活运用。

    ==========================================================================

    本人已经打算长期分享一些网络搜集的各种VBA知识,如果大家有问题也可以提出来共同解决,一起进步,毕竟VBA的世界还是很大的。

    如果你有什么想要分享的,或者有什么想要知道的,都可以留言等方式告诉我,大家一起努力进步。

    好了,明晚19:00,准时再见。

    =============================历史相关文章==============================

    展开全文
  • 在自动筛选数据时,每次修改筛选字段后再去执行VBA进行筛选还是会比较麻烦。若要在修改筛选字段后,自动完成筛选,可以通过如下操作进行。1. 在打开Visual Basic后,双击项目工程的Sheet1,也就是要执行筛选数据的...
  • 有小问题。我有一个很大的代码,它接受用户选择的参考号,并通过过滤和复制数据在多个其他工作表上定位相应的行(可以有多个行,也可以没有行)。这很好,除了它复制所有可见数据(列A-N)当我真的希望它复制列A到K时(因为...
  • excel高级筛选vba代码

    2015-06-08 11:46:39
    编写的高级筛选代码,可以实现办公自动化,效率比较高。对于其他数据记录,改改参数就可以,轻松搞定。
  • Excel VBA之函数篇-3.15数据筛选无烦恼 多样组合来助力前景提要在日常的工作中,数据筛选是我们经常都需要面对的事情,excel在这方面提供的选择并不算是很多,最常见的筛选功能,只能选择指定的几种类型,比方说**...
  • 期间翻书和上网查询,怎么筛选数据,怎么另存为,怎么自动发邮件,先实现简单的需求,筛选一个数据并另存,之后再用变量去赋值进行循环,花了一天半,终于实现所有需求。后来又增加了新的需求,比如有多个不同的表格...
  • 大家好,我是陈小虾,是一名自动化方向的IT民工。...本工作表使用VBA实现了如下功能: 1、跨表格多条件筛选 2、在新表格输出结果 3、将结果生成TXT文件 关注公众号:万能的Excel 并回复【跨表格...
  • VBA实现Excel模块筛选高级应用场景!

    千次阅读 2019-09-02 13:34:33
    做过项目管理或者产品管理的小伙伴...今天我给大家讲一个复杂场景下通过VBA实现Excel模块筛选的高级应用。 这里我们先通过图片和文字描述一下需要实现的一个需求场景: 首先有一个Excel,其中有两个Sheet,Sheet1...
  • VBA Excel 高级筛选AdvancedFilter

    千次阅读 2014-03-27 17:16:32
    ,则筛选出所有符合条件的记录。默认值为 False 。 例子: (看附件) Sub Macro1() Range("A1:D12").Select Range("A1:D12").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range...
  • Excel通过VBA实现筛选多选功能

    千次阅读 2019-01-18 17:19:46
    今天下午一直比较纠结,想形成Excel筛选多选功能,发现通过 数据–数据验证–数据验证功能,只能实现 序列单选功能,如图: 而我想实现多选功能,肿么办?网上搜索,大部分是ExcelHome技术网站上大牛蓝桥玄霜的示例...
  • '''''''''''''''''''''''''''''''''''''''''''''筛选条件1  If Left(arr(i, 7), 6) = "mobile" And (arr(i, 8) = "A" Or arr(i, 8) = "B" Or arr(i, 8) = "C" Or arr(i, 8) = "D") Then    z = arr(i, 2) ...
  • 今天第一次尝试使用Excel宏。 要实现的功能是:1个xls文件中,有2个工作表。判断工作表是否筛选,如果筛选清除筛选。然后将一个工作表中的数据,粘贴到另一个工作表下方。 尝试了录制宏,然后个修改其中的代码。...
  • 以下代码为工作中的真实案例(不是真实数据~~~),本人是销售方,每季度都要和关联方进行对账,这工作量大的可怕估计有五六十家关联方,我又不能把所有数据都发送给关联方,最好是根据每个关联方的名字来进行筛选,...
  • 前景提要昨天我们分享了如何通过like()函数来实现数据的筛选,可能是因为昨天忙于赶车,比较着急,我看了下我好像并没有完全介绍完一些比较常用的功能,今天就继续来分享下like()函数再筛选方面的强大功能吧。...
  • vba代码如下: Sub 在表格第2列筛选小于3或者大于9的条目() ActiveSheet.Rows("1:1").Select Selection.AutoFilter Selection.AutoFilter Field:=2, Criteria1:="<3", Operator:=xlOr, Criteria2:=">9" En....
  • 1. 问题由来早晨还没有完全醒来,你就被电话吵醒,有一个中学同学向你请教一个Excel的问题。作为一个所谓的Excel专家,你经常会受到此类骚扰。问题大概是这样的,一个很大的Excel文件,其中有些行是重复的,也就是说...
  • 微信公众号:万能的Excel 上一篇我们已经用VBA实现SQL检索,并实现相同项求和的功能。那么如何根据日期范围筛选我们需要的数据呢?今天我们看看另外一个SQL查询结构: SQL = "select 字段1 from [原始数据$] ...
  • 课件下载 : 方式1:本节课件下载地址:链接: https://pan.baidu.com/s/1BW1T78d1zpeZq7yFbLOosg 密码: nf97方式2:或点击此处...在模块1中写入下列代码:Sub shaixuan() Range("l1:q10000").ClearConte...
  • ActiveSheet.AutoFilterMode = False
  • 功能: 1、根据输入的关键字,实时搜索数据库筛选 2、不限数据库大小
  • range().autofilter filed:=N,criteria 1:=***, operator:=xland,criteria2:=*** ...若想在第N列筛选基础上再加入M列的筛选,直接再写一行M列筛选 range().autofilter filed:=M,criteria:=*** ...
  • VBA筛选拆分脚本

    2014-01-14 18:47:42
    采用vba根据对excel表某一列进行筛选拆分
  • VBA筛选AutoFilter用法

    万次阅读 多人点赞 2017-06-24 23:42:10
    在面对大量数据时,我们可以使用Excel筛选功能,滤出我们需要的信息。在本文中,我们先从Excel中的“筛选”命令谈起。  如下图所示的工作表,将活动单元格置于任一数据单元格中,单击功能区中的“排序和筛选”...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 387
精华内容 154
关键字:

excelvba筛选