Excel VBA 单元格查找

时间:2024-03-10 13:25:54

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

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

工具/原料

 
  • Excel 2013

一、Find查找

 
  1. 1

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

    Excel 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 ,这时和【查找} 对话

    框的查找下一个功能一致。

     

    Excel VBA 单元格查找
  3. 3

    Sub 查找单价()

    Dim intRow

    intRow = Range("a:a").Find(Range("g1")).Row

    Range("g2") = Range("B" & intRow)

    End Sub

    Excel VBA 单元格查找
  4. 4

    执行结果如下图所示:

    Excel VBA 单元格查找
    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

    Excel VBA 单元格查找
  3. 3

    执行结果如下图所示:

    Excel VBA 单元格查找
  4. 4

    vlookup 函数查找单价

    Sub 查找单价()

     

    Range("g2") = Application.VLookup(Range("a2"), Range("a:d"), 2, 0)

     

    End Sub

    Excel VBA 单元格查找
  5. 5

    执行结果如下图所示

    Excel VBA 单元格查找
  6.