WorksheetFunction.SearchB 方法 (Excel)

SearchSearchB 在第二个文本字符串中找到一个文本字符串,并返回第一个文本字符串从第二个文本字符串的第一个字符开始位置的编号。

语法

表达式SearchB (Arg1Arg2Arg3)

表达 一个代表 WorksheetFunction 对象的变量。

参数

名称 必需/可选 数据类型 说明
Arg1 必需 字符串 Find_text - 要查找的文本。
Arg2 必需 字符串 Within_text - 要在其中搜索 find_text 的文本。
Arg3 可选 Variant Start_num - 在 within_text 中要从其开始搜索的字符编号。

返回值

Double

备注

搜索 适用于使用单字节字符集 (SBCS) 的语言,而 SearchB 用于使用双字节字符集 (DBCS) 的语言。 计算机上的默认语言设置会以下列方式影响返回值:

  • 无论 默认语言设置是什么,搜索始终将每个字符(无论是单字节还是双字节)计算为 1。

  • 启用对支持 DBCS 的语言的编辑后,SearchB 会将每个双字节字符计数为 2,然后将其设置为默认语言。 否则, SearchB 将每个字符计数为 1。

  • 支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)和朝鲜语。

使用 SearchSearchB 确定字符或文本字符串在另一个文本字符串中的位置,以便可以使用 MidMidBReplaceReplaceB 函数更改文本。

SearchSearchB 不区分大小写。 如果要执行区分大小写的搜索,可以使用 FindFindB

在 find_text 中使用通配符、问号 () 和星号 (*) 。 问号可匹配任意的单个字符;星号可匹配任意一串字符。 如果要查找实际的问号或星号,则请在该字符前键入一个波形符 (~)。

如果未找到find_text,则#VALUE! 返回错误值。

如果省略 start_num,则假定其值为 1。

如果start_num不大于 0 (零) 或大于 within_text 的长度,则#VALUE! 返回错误值。

使用 start_num 可跳过指定编号的字符。 以 搜索 为例,假设你使用的是文本字符串 AYF0093.YoungMensApparel。 若要在文本字符串的描述性部分查找第一个 "Y" 的编号,请将start_num设置为 8,以便不搜索文本的序列号部分。 搜索 以字符 8 开头,在下一个字符处查找find_text,并返回数字 9。

搜索 始终返回within_text开头的字符数,如果start_num大于 1,则计算跳过的字符数。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。