Range 对象应用大全(4)— Find 方法应用大全 2009 年 08 月 16 日, 8:21 下午 (4 人投票, 平均: 5.00 out of 5) 本文整理了以前的一些关于 Find 方法的文章,作为 Excel VBA 应用大全的一部分。 1. Find 方法的作用 使用 VBA 在工作表或单元格区域中查找某项数据时,我们通常使用 For…Next 循环,这在小范围中使用还可以,但应用在大量数据中查找时,会耗费较多时间。 而在 Excel 工作表中,通常使用菜单“编辑>>查找”命令或按 Ctrl+F 组合键,在“查找和替换”对话框中来迅速查找所需的数据。在 VBA 中,我们也能使用这种方法,即 Find方法,这在下面的内容中介绍。 Find 方法将在指定的单元格区域中查找包含参数指定数据的单元格,若找到符合条件的数据,则返回包含该数据的单元格;若未发现相匹配的数据,则返回 Nothing。该方法返回一个 Range 对象,在使用该方法时,不影响选定区域或活动单元格。 为什么要使用 Find 方法呢?最主要的原因是查找的速度。如果要使用 VBA 代码在包含大量数据的单元格区域中查找某项数据,应该使用 Find 方法。 例如,在工作表 Sheet1 的单元格 IV65536 中输入fanjy,然后运行下面的代码: Sub QuickSearch() If Not Sheet1.Cells.Find("fanjy" ) Is Nothing Then MsgBox "已找到 fanjy!" End Sub 再试试下面的代码: Sub SlowSearch() Dim R As Range For Each R In Sheet1.Cells If R.Value = "fanjy" Then MsgBox "已找到 fanjy!" Next R End Sub 比较一下两段代码的速度,可知第一段代码运行很快,而第二段代码却要执行相当长的一段时间。 2. Find 方法的语法 [语法] <单元格区域>.Find (What,[After],[LookIn],[LookAt],[SearchOrder],[SearchDirection] ,[MatchCase],[MatchByte],[SearchFormat]) [参数说明] (1)<单元格区域>,必须指定,返回一个 Range 对象。 (2)参数 What,必需指定。代表所要查找的数据,可以为字符串、整数或者其它任何数据类型的数据。对应于“查找与替换”对话框中,“查找内容”文本框中的内容。 (3)参数After,可选。指定开始查找的位置,即从该位置所在的单元格之后向后或之前向前开始查找(也就是说,开始时不查找该位置所在的单元格,直到Find 方法绕回到该单元格时,才对其内容进行查找)。所指定的位置必须是单元格区域中的单个单元格,如果未指...