回覆列表
  • 1 # 雲UOMO

    以下是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,執行一個基於資料庫中資訊的比較。

  • 中秋節和大豐收的關聯?
  • 一枚郵票是80角還是分?