VBA InStr 函数

InStr 函数

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

    语法

    InStr([ start ], string1string2, [ compare ])

     

    InStr 函数语法有以下参数

    Part 说明
    start 可选。 设置每次搜索的起始位置的数字表达式。 如果忽略,则搜索从第一个字符位置开始。 如果 start 包含 Null,则出现错误。 如果指定了 compare,则 start 参数是必需的。
    string1 必需。 要搜索的字符串表达式
    string2 必需。 搜索到的字符串表达式。
    compare 可选。 指定字符串比较的类型。 如果 compare 为 Null,则将发生错误。 如果省略 compare,则 Option Compare 设置将决定比较的类型。 指定有效的 LCID (LocaleID) 以在比较中使用区域设置特定规则。

    设置

    compare 参数设置如下。

    常量 说明
    vbUseCompareOption -1 使用 Option Compare 语句的设置执行比较。
    vbBinaryCompare 0 执行二进制比较。
    vbTextCompare 1 执行文本比较。
    vbDatabaseCompare 2 仅用于 Microsoft Access。 根据数据库中的信息执行比较。

    返回值

    If InStr 返回
    string1 是零长度 0
    string1 为 Null NULL
    string2 是零长度 start
    string2 为 Null NULL
    未找到 string2 0
    在 string1 中找到 string2 找到匹配的位置
    start > string2 0

    注释

    InStrB 函数适用于包含在字符串中的字节数据。 InStrB 返回某字符串在其他字符串中首次出现的字节位置,而不返回其字符位置。

    示例

    本示例使用 InStr 函数来返回某字符串在其他字符串中首次出现的位置。

    VB复制

    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.
    

    另请参阅

原文地址:https://www.cnblogs.com/grj001/p/12224881.html