Hi,大家好,本专栏将会从零开始和大家用图文的方式,让你从零基础学会VBA!有兴趣的小伙伴可以持续关注我,或者在专栏中进行查看自我学习,愿与君携手前行!
在上节已经讲述了range和cells的使用方法,也许你已经初步具备识别他们了。今天要和大家分享的一个知识点是查找符合指定条件的单元格,达到这个目的方法有很多种,现在主要介绍使用 Find 方法和FindNext 方法,下期我们会介绍其他的方式。
Issue:在 Excel 中使用经常会遇到查找指定内容,而大多数人会使用对话框查找,这个可以查找工作表中特定内容的单元格,但是在 VBA 中则使用 Find 方法,如下面的代码所示。
代码解析:此过程使用 Find 方法在工作表 Sheet1 的 A 列中查找 InputBox 函数对话框中输入所要查找的值,并查找该值所在的第一个单元格,请注意是查找第一个符合条件的单元格。
此方法是Range 对象的 Find 方法在区域中查找特定信息,并返回 Range 对象,该对象代表用于查找信息的第一个单元格。如果未发现匹配单元格,就返回 Nothing,语法如下:
参数 expression 是必需的,该表达式返回一个 Range 对象。
参数 What 是必需的,要搜索的数据,可为字符串或任意数据类型。
参数 After 是可选的,表示搜索过程将从其之后开始进行的单元格,必须是区域中的单 个单元格。查找时是从该单元格之后开始的,直到本方法绕回到指定的单元格时,才对其进 行搜索。如果未指定本参数,搜索将从区域的左上角单元格之后开始。
PS: 每次使用 Find 方法后,参数 LookIn、LookAt、SearchOrder 和 MatchByte 的设置将保存。如果下次调用 Find 方法时不指定这些参数的值,就使用保存的值。因此每次使用该方法时请明确设置这些参数,否则可能会出现错误。
或许有的小伙伴们会说如果工作表的 A 列中存在重复的数值,如何查找呢?那么在这个时候就需要使用 FindNext 方法或 FindPrevious 方法进行重复搜索,如下面的代码所示。
代码解析:过程在工作表Sheet1的A列中查找InputBox函数对话框中所输入的值, 并将查到单元格底色设置成黄色。
用 FindNext 方法进行重复搜索。FindNext 方法继续执行用 Find 方法启动的搜索。查找下一个匹配相同条件的单元格并返回代表单元格的 Range 对象,语法如下:
参数 expression 是必需的,返回一个 Range 对象。
参数 After 是可选的,指定一个单元格,查找将从该单元格之后开始。
这个查找的方法是我们用的比较多的一种方式,有不明白的小伙们可以私信或者留言。
PS:附带FindPrevious 方法的语法,这个使用起来更为简单。
FindPrevious方法和FindNext方法唯一的区别是FindPrevious方法查找匹配相同条件 的前一个单元格而 FindNext 方法是查找匹配相同条件的下一个单元格。
好啦!快乐的时间总是非常短暂的,又到了和大家说再见的时候,如果大家感觉本文如果对你有所帮助的话,请帮忙转发点赞,谢谢您能观看到现在,我们下期再见!
我是Excel教案,关注我持续分享更多的Excel技巧!
如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。