InStr 函數

會傳回 Variant (Long),指定另一個字串內某個字串的第一個出現位置。

注意事項

對於開發跨多個平台,擴充使用者 Office 體驗的解決方案感到興趣嗎? 請參閱新的 Office 增益集模型。 與 VSTO 增益集和解決方案相比,Office 增益集的佔用空間較小,而且您可以使用幾乎任何網頁程式技術 (例如 HTML5、JavaScript、CSS3 和 XML) 來建立這些增益集。

語法

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

InStr 函數語法有下列引數:

部分 描述
start 選用。 設定每個搜尋的起始位置的數值運算式。 如果省略,會從第一個字元位置開始搜尋。 如果 start 包含 Null,會發生錯誤。 如果有指定 compare,則需要 start 引數。
string1 必要項目。 要搜尋的字串運算式。
string2 必要項目。 搜尋到的字串運算式。
compare 選用。 指定字串比較的類型。 如果 比較 為 零,則會發生錯誤。 如果省略 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
string2 在 string1 中找到 找到相符項目的位置
start>string2 0

註解

InStrB 函數會與字串所含的位元組資料一起使用。 InStrB 會傳回位元位置,而不是傳回某個字串在另一個字串內第一個出現的字元位置。

範例

此範例使用 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.

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。