使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

返回一个 Variant (Long) 值,指定一个字符串在另一个字符串中首次出现的位置。

查看一些示例

语法

InStr ([start, ] string1, string2 [, compare ] )

InStr 函数语法具有以下参数:

参数

说明

开始

可选。 设置每个搜索的起始位置的数值表达式。 如果省略,则搜索从第一个字符位置开始。 如果 start 包含 Null,则会发生错误。 如果指定了比较,则需要 start 参数。

string1

必需。 正在搜索的字符串表达式。

string2

必需。 所寻求的字符串表达式。

比较

可选。 指定 字符串比较 的类型。 如果 compare 为 Null,则会发生错误。 如果省略 比较 ,“ 选项比较” 设置将确定比较的类型。 指定有效的 LCID (LocaleID) ,以在比较中使用特定于区域设置的规则。

提示: 表达式生成器具有 IntelliSense,因此可以查看表达式所需的参数。

设置

比较参数设置包括:

常数

说明

vbUseCompareOption

来执行此操作

使用 Option Compare 语句的设置执行比较。

vbBinaryCompare

0

执行二进制比较。

vbTextCompare

1

执行文本比较。

vbDatabaseCompare

2

仅限Microsoft Office Access 2007 。 根据数据库中的信息执行比较。

返回值

If

InStr 返回

string1 为零长度

0

string1 为 Null

Null

string2 为零长度

开始

string2 为 Null

Null

找不到 string2

0

string2 位于 string1 中

找到匹配的位置

start > string2

0

备注

InStrB 函数用于字符串中包含的字节数据。 InStrB 返回字节位置,而不是返回另一个字符串中第一个字符串的字符位置。

示例

在表达式中使用 InStr 函数    可以在任何位置使用表达式,都可以使用 InStr 。 例如,如果要查找第一个句点的位置 () 包含 IP 地址 (名为 IPAddress) 的字段中,可以使用 InStr 查找它,如下所示:

InStr (1,[IPAddress],“.”)

InStr 函数检查 IPAddress 字段中的每个值,并返回第一个句点的位置。 因此,如果 IP 地址的第一部分为 10。,函数返回值 3。

然后,可以使用其他函数(对 InStr 函数的输出进行操作)提取第一个句点之前的 IP 地址部分,如下所示:

左 ([IPAddress], (InStr (1,[IPAddress],“.) -1) )

在此示例中, InStr (1,[IPAddress],“.”) 返回第一个句点的位置。 减去 1 确定第一个句点之前的字符数,在本例中为 2。 然后 ,Left 函数从 IPAddress 字段的左侧提取许多字符,返回值 10。

在 VBA 代码中使用 InStr    

注意: 下面的示例演示了如何在 Visual Basic for Applications (VBA) 模块中使用此函数。

此示例使用 InStr 函数返回第一个字符串在另一个字符串中出现的位置。

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"    ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)    
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar)    ' Returns 9.
MyPos = Instr(1, SearchString, "W")    ' Returns 0.

另请参阅

字符串函数以及如何使用它们

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×