instr

【分享成果,享受正能量】吃苦正在成为一种奢侈。很久以前,苦难和贫穷是紧密相连的。穷人面临着艰难困苦,而富人却过着舒适快乐的生活。如今随着时代的发展,穷人不再需要吃苦,每天的生活都很安逸舒适,享受着短视频带来的愉悦和,一下子就能吃到外卖,很舒服。另一方面,富人为了每天创造更多的财富,巩固自己的地位,必须时刻努力进取,做很多痛苦的事情,不停地痛苦。显然,这个时代正在经历一场无形的变革。有些人嗅觉敏锐,早已开始改变,而很多人却沉浸在危机中而不自知…

《VBA经典应用69例》是我推出的第九套教程。教程是专门针对初、中级学生在学习VBA的过程中可能遇到的案例。本教程有很多案例,紧扣“实战”,做“战术总结”,让大家能很好的运用。教程的目的是请大家在实际工作中好好利用VBA。这套教程由三卷六十九个主题组成。今天的内容是教程3: Instr()函数的应用,3:VBA中字符串值的比较方案之一。

instr

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

大家好。对于在工作场所更多地处理数据的学生来说,学习和使用VBA是他们工作中的一种乐趣。把大量的手工操作留给电脑来完成,收获的是效率的提高和工作后大量的宽裕空间。本讲座将向您解释一个实际的VBA利用场景,并对其进行总结。在与VBA处理实际问题时,最常见的一类是价值观的比较判断。当数据的值满足一定条件时,让程序做相应的处理,不满足时,做其他处理。这个逻辑是贯穿整个代码过程的基本逻辑思想。在这个主题中,我们将解释VBA价值观的比较判断方案。

1 Instr()函数

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

语法:instr ([start],string1,string2,[比较])

参数:

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

② string1为必填项。要搜索的字符串表达式。

③ string2为必填项。搜索的字符串表达式。

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

比较参数设置如下:

① vbUpareOption -1使用选项Compare语句的设置来执行比较。

② vbBinaryCompare 0执行二进制比较。

③ vbTextCompare 1执行文本比较。

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

返回值:

①如果string1为零,则返回0。

②如果String1为NULL,则返回Null。

③如果string2的长度为零,将返回start。

④如果String2为NULL,则返回Null。

⑤如果找不到string2,则返回0。

⑥如果在string1中找到string2,则返回匹配位置。

⑦开始& gtString2返回0。

例1:使用Instr函数检查单元格是否包含给定值。

在下面的例子中,我们将使用Instr()来检查单元格中是否包含& # 34;VBA & # 34;这个词。我们将使用Do循环遍历工作表A列中的所有单元格,并检查每个单元格。

让我们看看我给出的代码:

代码:省略(在教程中)

代码截图:

代码解释:

①范围(& # 34;B&第34名;& R)= & # 34;"是删除原始数据;

②如果InStr(1,Range(& # 34;一& # 34;& R),& # 34;VBA & # 34;)那么也可以这样写:如果InStr(1,Range(& # 34;一& # 34;& R),& # 34;VBA & # 34;)& gt那么0

代码运行的结果:

示例Instr函数如何匹配大小写?

这个Instr函数还是一样的,我们就把上面的代码改成:If InStr(1,Range(& # 34;一& # 34;& R),& # 34;vbA & # 34)然后

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

我没找到。为什么?因为以上值匹配& # 34;vbA & # 34,在A列的单元格中没有匹配& # 34;vbA & # 34。应该如何编写代码来满足忽略大小写匹配?让我们看看我给出的代码:

代码:省略(在教程中)

代码截图:

让我们来看看代码的运行效果:

本讲参考程序文件:application 003.xl。

我20多年的VBA实践经验全部集中在以下教程中:

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论