当前位置: 首页 > 最新文章 > 正文

VBA中字符串值的比较方案之一Instr()函数

教程的目的是要求大家在实际工作中要利用好VBA。应用3 VBA中字符串值的比较方案大家好,对于职场中和数据打交道较多的学员,学习、利用VBA本身就是工作中的一件乐事,将大量的手工操作交给计算机自己去完成,收获的是效率的提高,以及工作后大量的宽裕的实间。这讲给大家讲解一个实际的VBA利用场景,并加以总结。在利用VBA处理实际问题中最为常见的一类是值的比较判断。1 Instr()函数Instr函数,返

admin

教程的目的是要求大家在实际工作中要利用好VBA。应用3 VBA中字符串值的比较方案大家好,对于职场中和数据打交道较多的学员,学习、利用VBA本身就是工作中的一件乐事,将大量的手工操作交给计算机自己去完成,收获的是效率的提高,以及工作后大量的宽裕的实间。这讲给大家讲解一个实际的VBA利用场景,并加以总结。在利用VBA处理实际问题中最为常见的一类是值的比较判断。1 Instr()函数Instr函数,返回一个Variant 值,指定一个字符串在另一个字符串中首次出现的位置。如果compare为Null,则将发生错误。如果省略compare,则Option Compare设置将决定比较的类型。④ vbDatabaseCompare 2 仅用于 Microsoft Access。我们将使用Do Loop循环浏览工作表A列中的所有单元格,并检查每个单元格。

分享成果,随喜正能量】吃苦,正在变成一件奢侈的事情。很久之前,苦与穷是紧密联系在一起的,穷人面临得是必须要吃苦,富人则是安逸享乐。如今,随着时代的发展,穷人早已不需要吃苦,每天的生活十分安逸舒适,享受短视频带来的愉悦和快感,吃着即点即到的外卖,惬意万分。反观富人,每天为了创造更多的财富,巩固自己的江山和地位,必须时刻精进,做诸多痛苦的事情,不断吃苦前行。显而易见,这个时代正在经历一场无形的变革,有人嗅觉灵敏早已开始蜕变,而很多人却沉沦在危机中却毫不自知…

《VBA经典应用69例》,是我推出第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容是教程的应用3:VBA中字符串值的比较方案之一Instr()函数。

VBA中字符串值的比较方案之一Instr()函数

应用3 VBA中字符串值的比较方案

大家好,对于职场中和数据打交道较多的学员,学习、利用VBA本身就是工作中的一件乐事,将大量的手工操作交给计算机自己去完成,收获的是效率的提高,以及工作后大量的宽裕的实间。这讲给大家讲解一个实际的VBA利用场景,并加以总结。在利用VBA处理实际问题中最为常见的一类是值的比较判断。当数据的值满足某种条件时让程序做相应处理,当不满足时做其他处理,这种逻辑是贯穿于整个代码过程的基本逻辑思路,这个专题我们就来讲解一下VBA中有关值的比较判断方案。

1 Instr()函数

Instr函数,返回一个Variant (Long)值,指定一个字符串在另一个字符串中首次出现的位置。

语法:InStr([start], string1, string2, [compare])

参数:

① start 可选。 设置每次搜索的起始位置的数字表达式。 如果忽略,则搜索从第一个字符位置开始。如果start包含Null,则出现错误。如果指定了compare,则start参数是必需的。

② string1 必需。 要搜索的字符串表达式。

③ string2 必需。 搜索到的字符串表达式。

④ compare 可选。 指定字符串比较的类型。如果compare为Null,则将发生错误。如果省略compare,则Option Compare设置将决定比较的类型。指定有效的LCID (LocaleID) 以在比较中使用区域设置特定规则。

compare 参数设置如下:

① vbUseCompareOption -1 使用 Option Compare 语句的设置执行比较。

② vbBinaryCompare 0 执行二进制比较。

③ vbTextCompare 1 执行文本比较。

④ vbDatabaseCompare 2 仅用于 Microsoft Access。根据数据库中的信息执行比较。

返回值:

① string1 是零长度 则返回 0

② string1 为 Null 则返回 NULL

③ string2 是零长度 则返回 start

④ string2 为 Null 则返回 NULL

⑤ 未找到 string2 则返回 0

⑥ 在 string1 中找到 string2 则返回 找到匹配的位置

⑦ start > string2 则返回 0

实例一:利用Instr函数检查单元格是否包含给定值

在下面的示例中,我们将使用Instr()来检查单元格是否包含"VBA"一词。我们将使用Do Loop循环浏览工作表A列中的所有单元格,并检查每个单元格。

下面看我给出的代码:

代码:略(教程中有)

代码截图:

VBA中字符串值的比较方案之一Instr()函数

代码解读:

① Range("B" & R) = "" 是将原有数据删除;

② If InStr(1, Range("A" & R), "VBA") Then 也可以这样写:If InStr(1, Range("A" & R), "VBA") >0 Then

代码运行的结果:

VBA中字符串值的比较方案之一Instr()函数

实例二:Instr函数如何匹配大小写

仍是这个Instr函数,我们将上面的代码改成:If InStr(1, Range("A" & R), "vbA") Then

结果会是怎么样呢?我们看下面的代码运行效果截图:

VBA中字符串值的比较方案之一Instr()函数

没有找到,这是为什么呢?因为上面的值匹配的是"vbA",在A列的单元格中没有找到匹配的"vbA"。对于要满足忽略大小写匹配,代码该如何写呢?下面看我给出的代码:

代码:略(教程中有)

代码截图:

VBA中字符串值的比较方案之一Instr()函数

下面看代码的运行效果:

VBA中字符串值的比较方案之一Instr()函数

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

VBA中字符串值的比较方案之一Instr()函数

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

VBA中字符串值的比较方案之一Instr()函数


上一篇: 622136(646341) 下一篇:Firebug开发者火狐debug(火狐debug)
返回顶部