Cells.find函数参数解释

用VBA录制的查找

Cells.Find(What:="想查找的数据", After:=ActiveCell, LookIn:=xlValues, LookAt:= xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= False).Activate  

   Find   方法

   在区域内查找特定信息,并返回Range对象,该对象代表所找到的第一个包含所查找信息的单元格。如果未发现匹配单元格,就返回   Nothing。本方法不影响选定区域或活动单元格。

   关于在Visual Basic中使用Find工作表函数的详细内容,请参阅在Visual Basic中使用Microsoft Excel工作表函数。

  语法

   expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte)

   expression   必选。该表达式返回   Range   对象。

   What       Variant类型,必选。要查找的数据。可为字符串或任意Microsoft Excel数据类型。

   After       Variant类型,可选。表示查找过程将从其之后开始进行的单元格。此单元格对应于从用户界面查找时的活动单元格位置。注意After必须是查找区域中的单个单元格。请记住查找是从该单元格之后开始的;直到本方法环绕到此单元格时,才检测其内容。如果未指定本参数,查找将从区域的左上角单元格之后开始。

   LookIn     Variant类型,可选。可为下列XlFindLookIn常量之一:xlFormulas、xlValues或xlComments。

   LookAt     Variant类型,可选。可为下列XlLookAt常量之一:xlPart或xlWhole。

   SearchOrder    Variant类型,可选。可为下列XlSearchOrder常量之一:xlByColumns或xlByRows。

   SearchDirection       Variant类型,可选。可为下列XlSearchDirection常量之一:xlNext或xlPrevious。默认常量为xlNext。

   MatchCase       Variant类型,可选。若指定为True,就进行区分大小写的查找。默认值为False。

   MatchByte       Variant类型,可选。仅在选择或安装了双字节语言支持时使用。若指定为True,就使双字节字符仅匹配双字节字符。若指定为False,则双字节字符可匹配其等价的单字节字符。

  说明

   每次调用本方法后,参数LookIn、LookAt、SearchOrder和MatchByte的设置将保存。如果下一次调用时未指定这些参数,将使用保存的设置。设置这些参数将改变“查找”对话框中的设定,而在“查找”对话框中修改相应设定,也将改变忽略这些参数时所使用的保存值。为避免出现麻烦,每次调用本方法时,请显式指定这些参数的值。

转载于:https://www.cnblogs.com/leolis/archive/2011/07/08/2101136.html

### VBA `Find` 函数的使用方法 在 VBA 中,`Find` 方法主要用于在一个范围(Range)内搜索特定值,并返回该值所在的单元格对象。以下是关于 `Find` 函数的具体说明和示例。 #### 参数描述 `Find` 的主要参数如下: - **What**: 要查找的内容。 - **After**: 查找起始位置之后的一个单元格,默认为第一个单元格。 - **LookIn**: 指定要搜索的对象类型,可以是以下常量之一: - `xlFormulas`: 表达式[^3]。 - `xlValues`: 单元格显示的值。 - `xlComments`: 注释内容。 - **LookAt**: 指定匹配方式,可选值为: - `xlPart`: 部分匹配。 - `xlWhole`: 完全匹配。 - **SearchOrder**: 搜索顺序,可以选择按行或列进行搜索。 - **MatchCase**: 是否区分大小写,布尔值 True/False。 - **SearchFormat**: 可选,指定额外的格式条件。 #### 示例代码 下面是一个简单的例子,展示如何使用 `Find` 来定位某个值的位置: ```vba Sub FindExample() Dim searchValue As String Dim foundCell As Range ' 设置要查找的值 searchValue = "目标值" ' 在工作表范围内执行查找操作 Set foundCell = Sheets(1).Cells.Find(What:=searchValue, _ After:=Sheets(1).Cells(Sheets(1).Rows.Count, Sheets(1).Columns.Count), _ LookIn:=xlValues, _ LookAt:=xlWhole, _ SearchOrder:=xlByRows, _ MatchCase:=False) If Not foundCell Is Nothing Then MsgBox "找到 '" & searchValue & "' 在单元格: " & foundCell.Address Else MsgBox "'" & searchValue & "' 未被找到!" End If End Sub ``` 上述代码会尝试在整个活动工作表中寻找名为 `"目标值"` 的内容,并弹出消息框告知结果所在地址或者提示找不到该项。 #### 注意事项 当调用 `Find` 方法时需要注意几个常见陷阱: - 如果多次连续运行相同的宏而没有重置,则可能得到错误的结果。这是因为每次调用都会基于上一次结束的地方继续向下扫描直到循环回来为止。为了避免这种情况发生,在实际应用前最好先清除先前设置的状态变量。 - 对于复杂查询需求来说,还可以考虑结合其他高级选项比如自定义格式筛选器等来增强灵活性与精确度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值