在编写代码时,常需要依据指定内容在指定区域查找符合条件的单元格,这时就需要用查找的方法。在工作表中,可以执行【编辑】/【查找】命令查找指定的单元格,同样也可以利用在公式中使用Match 等函数对单元格进行查找。
工具/原料
Excel 2013
一、Find查找
1、单元格范围.Fing. (查找内容,查找开始位置,搜‘索范围,单元格区配γ 搜索方式,搜索类别,区分大小写,区分全/半角)
2、具体解释<1> 查找内容:是查找的依倌栗受绽据。和【查找} 对话框的“查找内容”文本框相对应。<2>查找开始位就女蒿鸳置:查找开始位置。默认为活动单元格,如果未指定,则从指定区域左上角开始查找。<3> 搜索范围:是查找公式、值还是备注,等同于{ 查找】对话框中的“搜索范围” 。可为xlFormulas (公式)、xlValues (值)、xlComments (备注)和 xlFindlookln 常量之一。<4> 单元格匹配:是指查找单元格的部分内容还是全部内容。和【查找】对话框的“单元格匹配” 选项功能一致。可为xlPart (部分内容)、xlWhole (内容匹配)和XlLookAt 常量之一。<5> 搜索方式:是按行还是列搜索。和【查找】 对话框中“搜索方式”功能一致。可为xlByColumns (按列)或xlByRows (按行) XlSearchOrder 常量之一。<6>区分大小写:查找时是否区分大小写。和{ 查找} 对话框中的“ 区分大小写”选项相对应。若指定为True , 区分大小写查找。默认值为False o<7> 区分全半角:和{ 查找} 对话框的“ 区分全/半角”选项功能相一致。<8>搜索类别:可为xlNext 或xlPrevious XlSearchDirection 常量之一。XlPrevious 是查找前一个单元格。默认常量为xlNext ,这时和【查找} 对话框的查找下一个功能一致。
3、Sub 查找单价()Dim intRowintRow = Range(&孥恶膈茯quot;a:a").Find(Range(&qu泠贾高框ot;g1")).RowRange("g2") = Range("B" & intRow)End Sub
4、执行结果如下图所示:
二、使用工作表函数进行查找
1、除了使用Find 方法进行查找外,还可以使用工作表函数实现单元格查找。如查找位置可以使用Macth 函数: 查找并返回内容可以使用Vlookup 函数。本节中涉及到的Macth 函数和Vlookup 函数语法请参考Excel 帮助文件。本节只介绍如何在Excel VBA 中调用该函数。
2、使用match函数返回查找单元格的位置Sub 查找单价()Dim intRowintRow = 钽吟篑瑜Application.Match(伊怕锱鳏Range("a1"), Range("a:a"), 0)Range("g2") = Range("B" & intRow)End Sub
3、执行结果如下图所示:
4、vlookup 函数查找单价Sub 查找单价()Range("g2") = Application.VLookup(Range("a2"), Range("a:d"), 2, 0)End Sub
5、执行结果如下图所示