如何根据文本长度筛选(基于文本条件的一般筛选)

分享成果,随喜正能量】在你困难时借你钱的人,还钱时最好表示一下,要么补贴点当利息,要么请对方吃顿饭,要知道,他本可以不借的。要知道感恩。

《VBA经典应用69例》,是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容是教程的应用4:基于文本条件的一般筛选。

如何根据文本长度筛选(基于文本条件的一般筛选)(1)

应用4 VBA中的自动筛选(Autofilter)

大家好,我们这个专题讲解VBA中的自动筛选(Autofilter),一般情况下,我们学习VBA之前都比较熟悉了Excel的利用,为了进一步提高效率,才学习VBA,把VBA宏派上用场。在Excel工作表中,我们可以轻松地根据标准功能,使用"数据"菜单内的"筛选"功能,完成多种多样的筛选以处理各式各样的信息。我们这讲的内容是利用VBA完成自动筛选。

对于应用而言,从小数据集合中过滤掉必要的信息可以使用"筛选"功能。但是,如果你希望根据多个标准和条件过滤大量数据,利用VBA自动过滤器功能可以更轻松。它可以为你节省大量的时间和精力。例如,假设你希望筛选下拉列表中的某些信息(基于多个标准),然后将结果复制/粘贴到其他工作表中。如果手动完成,这似乎是一项非常耗时的任务。在这种情况下,VBA可以帮助你自动化完成这个过程。

2 基于文本条件的一般筛选数据

我们看下面的工作表:

如何根据文本长度筛选(基于文本条件的一般筛选)(2)

让我们来研究一下上图中给出的数据集。假设我们希望根据"性别"列筛选上述数据集。要实现此筛选,并得到“性别=男”的数据,我们将以以下方式编写代码:

Sub mynzA()

'清空数据

[代码见教程]

End Sub

代码截图:

如何根据文本长度筛选(基于文本条件的一般筛选)(3)

代码的解读:

① With Sheets("Sheet2").Range("A1")

.AutoFilter Field:=3, Criteria1:="男", VisibleDropDown:=False

以上代码是以相对于“A1”开始,从左侧字段开始的第三个字段设为筛选字段。查找的是此字段的值为“男”的数据

② '将筛选后的数据复制到指定位置

.SpecialCells(xlCellTypeVisible).Copy Sheets("SHEET1").Range("A1")

以上代码将筛选后的数据复制到Sheets("SHEET1").Range("A1")。其中

Range.SpecialCells方法返回一个Range对象, 该对象代表与指定类型和值匹配的所有单元格。

语法:expression.SpecialCells (Type, Value)

其中expression 一个表示 Range 对象的变量。

参数:

a Type 必需 XlCellType 要包含的单元格。

b Value 可选 Variant 如果Type为xlCellTypeConstants或xlCellTypeFormulas, 则此参数用于确定要在结果中包含哪些类型的单元格。将这些值相加可返回多种类型的单元格。默认情况下,将选择所有常量或公式,无论类型如何。

XlCellType 枚举值:

1) xlCellTypeAllFormatConditions -4172 任意格式的单元格。

2) xlCellTypeAllValidation -4174 含有验证条件的单元格。

3) xlCellTypeBlanks 4 空单元格。

4) xlCellTypeComments -4144 含有注释的单元格。

5) xlCellTypeConstants 2 含有常量的单元格。

6) xlCellTypeFormulas -4123 含有公式的单元格。

7) xlCellTypeLastCell 11 所用区域中的最后一个单元格。

8) xlCellTypeSameFormatConditions -4173 格式相同的单元格。

9) xlCellTypeSameValidation -4175 验证条件相同的单元格。

10)xlCellTypeVisible 12 所有可见单元格。

SpecialCells(xlCellTypeVisible).Copy 是指可以复制所有可见的单元格

③ '去掉筛选

.AutoFilter

在原数据中去除筛选格式。

最后我们看代码的运行结果:

如何根据文本长度筛选(基于文本条件的一般筛选)(4)

【待续】

本讲内容参考程序文件:应用004.xlsm

如何根据文本长度筛选(基于文本条件的一般筛选)(5)

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

如何根据文本长度筛选(基于文本条件的一般筛选)(6)

分享成果,随喜正能量】出来社会后靠的是自己,不要再去想过去和原生家庭。没有人能把你怎么了,也没有人有能力能影响你一生。愚者耗费半生去谴责别人,勇者每一天都在为自己负责。不要试图改变一个人,不管你是出于什么目的。你以为别人过得不好,但在他眼里,你过得可能不如他。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页