设为首页收藏本站|繁體中文

Excel 技巧网

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 12890|回复: 4

[Excel VBA] VBA 中怎么样使用filter函数?

[复制链接]
发表于 2009-10-30 00:51:10 | 显示全部楼层 |阅读模式
  • 署名作者: wise
  • 版权声明: 版权归本站与作者共有 除本站官方外非作者本人转载须经许可并注明出处
  • 本文来自:
  • 引用作品:
  • 适用版本: 2003以前版本 
  • 语言环境: 简体中文
  • 学习方法: 掌握Excel技巧的关键是动手操作 | 下载 ≠ 知识


  • 免费注册成为本站会员,享用更多功能,结识更多Office办公高手!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    Q:VBA 中怎么样使用filter函数?
    A:它返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集。
    它可以使用来查找2个数组的差集,也可以用来过滤数字值。
    如以下例子:

    1. Sub Filter1()
    2.     Dim myarr As Variant
    3.     Dim arr As Variant
    4.     Dim str
    5.     Dim i As Integer,j as integer
    6.     myarr = Array(1, 3, 5)
    7.     arr = Array(1, 2, 3, 4, 5, 6, 7, 8)
    8.     For i = 0 To UBound(myarr)
    9.         arr = VBA.Filter(arr, myarr(i), False)
    10.     Next i
    11.     str = Split(Join(arr), " ")
    12.     str_max = UBound(str)
    13.     For j= 1 To str_max + 1
    14.         Cells(j, 1) = str(j - 1)
    15.     Next
    16. End Sub
    复制代码
    发表于 2012-3-12 08:52:05 | 显示全部楼层
    str = Split(Join(arr), " "),这样的话STR不就是和arr相等了吗?
    回复 支持 反对

    使用道具 举报

    发表于 2012-3-11 21:21:48 | 显示全部楼层
    这个函数很有用。
    回复 支持 反对

    使用道具 举报

    发表于 2018-6-13 20:37:31 | 显示全部楼层
    考虑不全面 ,举例中没有包含不同数位。 myarr = Array(1, 3, 5),arr = Array(1, 2, 13, 4, 5, 6, 7, 8) 随机添加一个两位数,就全面了。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
    本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
    若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
    会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
    本站特聘法律顾问:沈学律师

    Archiver|手机版|Excel技巧网 ( 闽ICP备08107682号-2 ) | 闽公网安备 35020302032608号  

    GMT+8, 2018-12-17 18:07

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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