在编写代码时,常需要依据指定内容在指定区域查找符合条件的单元格,这时就需要用

查找的方法。在工作表中,可以执行【编辑】/【查找】命令查找指定的单元格,同样也可以利用在公式中使用Match 等函数对单元格进行查找。

工具/原料

 

  • Excel 2013

一、Find查找

 

  1. 1
    单元格范围.Fing. (查找内容,查找开始位置,搜‘索范围,单元格区配γ 搜索方式,搜索类别,区分大小写,区分全/半角)

    VBA 索引 vba 搜索函数_半角

  2. 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 ,这时和【查找} 对话
    框的查找下一个功能一致。
     

    VBA 索引 vba 搜索函数_半角_02

  3. 3
    Sub 查找单价()
    Dim intRow
    intRow = Range("a:a").Find(Range("g1")).Row
    Range("g2") = Range("B" & intRow)
    End Sub

    VBA 索引 vba 搜索函数_搜索_03

  4. 4
    执行结果如下图所示:

    VBA 索引 vba 搜索函数_大小写_04

    END

二、使用工作表函数进行查找

 

  1. 1
    除了使用Find 方法进行查找外,还可以使用工作表函数实现单元格查找。如查找位置可以使用Macth 函数: 查找并返回内容可以使用Vlookup 函数。本节中涉及到的Macth 函数和Vlookup 函数语法请参考Excel 帮助文件。本节只介绍如何在Excel VBA 中调用该函数。
  2. 2
    使用match函数返回查找单元格的位置
    Sub 查找单价()
    Dim intRow
    intRow = Application.Match(Range("a1"), Range("a:a"), 0)
    Range("g2") = Range("B" & intRow)
    End Sub

    VBA 索引 vba 搜索函数_VBA 索引_05

  3. 3
    执行结果如下图所示:

    VBA 索引 vba 搜索函数_半角_06

  4. 4
    vlookup 函数查找单价
    Sub 查找单价()
     
    Range("g2") = Application.VLookup(Range("a2"), Range("a:d"), 2, 0)
     
    End Sub

    VBA 索引 vba 搜索函数_大小写_07

  5. 5
    执行结果如下图所示

    VBA 索引 vba 搜索函数_搜索_08

  6.