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 選用。 指定字串比較的類型。 如果 compareNull,則會發生錯誤。 如果省略 compareOption Compare 設定會決定比較的類型。 指定有效的 LCID (LocaleID),在比較中使用地區設定特定的規則。

設定

compare 引數的設定如下。

常數 描述
vbUseCompareOption -1 使用 Option Compare 陳述式的設定來執行比較。
vbBinaryCompare 0 執行二進位比較。
vbTextCompare 1 執行文字比較。
vbDatabaseCompare 2 僅限 Microsoft Access。 根據資料庫中的資訊執行比較。

傳回值

If InStr 傳回
string1 長度為零 0
string1Null Null
string2 長度為零 start
string2Null Null
string2 找不到 0
string2string1 中找到 找到相符項目的位置
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 支援與意見反應