求EXCELVBAinstr函數的詳細用法?
以下是EXCELVNAinster函數的詳細用法:
Instr函數
一、題目:
要求編寫一段代碼,運用Instr函數,在一字符串中查找另一字符串并返回結果。
二、代碼:
Sub 示例_1_18()
Dim bssString, yczChar, wz
bssString ="ABpAApCDPBBP"
yczChar = "P"
MsgBox "bssString = "" ABpAApCDPBBP """ & Chr(10) & _
"yczChar= ""P"" 時: " & Chr(10) & Chr(10) & _
"InStr(4, bssString, yczChar, 1) 返回值為 " & _
InStr(4, bssString, yczChar, 1)
wz = Instr(1, bssString, yczChar, 0)
wz = Instr(bssString,yczChar) ' 返回 9。
wz = Instr(1, bssString, "W") ' 返回 0。
End Sub
三、代碼詳解
1、Sub 示例_1_18():宏程序的開始語句。宏名為示例_1_18。
2、Dim bssString, yczChar, wz :變量bssString、yczChar和ws聲明為可變型變量。
3、bssString ="ABpAApCDXPBBP" : 把被搜索的字符串賦給變量bssString。
4、yczChar = "P" : 把要查找的字符P賦給變量yczChar。
5、MsgBox "bssString = "" ABpAApCDPBBP """ & Chr(10) & _
"yczChar= ""P"" 時: " & Chr(10) & Chr(10) & _
"InStr(4, bssString, yczChar, 1) 返回值為 " & _
InStr(4, bssString, yczChar, 1): 用消息框顯示從第四個字符開始,以文本比較的方式找字符P,返回值為 6(小寫 p的位置)。小寫 p 和大寫 P 在文本比較下是一樣的,也就是當函數的最后一個參數為1時,查找不分大小寫。把要查找的字符P的位置賦給變量yczChar。式中Chr(10)是換行符。
6、wz = Instr(1, bssString, yczChar, 0) :從第一個字符開始,以二進制比較的方式查找,返回值為 9(大寫 P的位置)。小寫 p 和大寫 P 在二進制比較下是不一樣的,也就是當函數的最后一個參數為0時,查找分大小寫。把查找到的字符P的位置賦給變量wz。
7、wz = Instr(bssString, yczChar) :上一句也可寫成這樣的,因為缺省的比對方式為二進制比較(最后一個參數可省略)。第一個參數省略默認從第一個字符開始查找。返回值為 9。
8、wz = Instr(1,bssString, ”W”) :在被搜索的字符串中查找字符W,由于沒找到返回值為0。
InStr 函數
返回 Variant (Long),指定一字符串在另一字符串中最先出現的位置。
InStr([start, ]string1, string2[, compare])
InStr 函數的語法具有下面的參數:
start 可選參數。為數值表達式,設置每次搜索的起點。如果省略,將從第一個字符的位置開始。如果指定了 compare 參數,則一定要有 start 參數。
string1 必要參數。接受搜索的字符串表達式。
string2 必要參數。被搜索的字符串表達式。
Compare可選參數。指定字符串比較。如果省略 compare,Option Compare 的設置將決定比較的類型。
compare 參數設置為:
常數 值 描述
vbUseCompareOption -1 使用Option Compare 語句設置執行一個比較。
vbBinaryCompare 0 執行一個二進制比較。
vbTextCompare 1 執行一個按照原文的比較。
vbDatabaseCompare 2 僅適用于Microsoft Access,執行一個基于數據庫中信息的比較。