天天看點

VBA字元串

字元串是一個字元序列,可以由字母,數字,特殊字元或全部字元組成。 如果一個變量被包含在雙引号

""

中,則被認為是一個字元串。

文法:

variable_name = "this is a string"
           
VBA字元串

1、InStr函數

文法:

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

參數說明

  • Start - 一個可選參數。指定搜尋的起始位置。搜尋從第一個位置開始,從左到右。
  • String1 - 必需的參數。要搜尋的字元串。
  • String2 - 必需的參數。要在String1中搜尋的字元串。
  • Compare - 一個可選參數。指定要使用的字元串比較。它可以采取以下提到的值:
    • 0 = vbBinaryCompare - 執行二進制比較(預設)
    • 1 = vbTextCompare - 執行文本比較

函數傳回值分為0 和其他整數(絕對字元索引位置)

若搜尋不到就傳回0

Private Sub Constant_demo_Click() 
   Dim Var As Variant 
   Var = "Microsoft VBScript" 
   MsgBox ("Line 1 : " & InStr(1, Var, "s")) 
   MsgBox ("Line 2 : " & InStr(7, Var, "s")) 
   MsgBox ("Line 3 : " & InStr(1, Var, "f", 1)) 
   MsgBox ("Line 4 : " & InStr(1, Var, "t", 0)) 
   MsgBox ("Line 5 : " & InStr(1, Var, "i")) 
   MsgBox ("Line 6 : " & InStr(7, Var, "i")) 
   MsgBox ("Line 7 : " & InStr(Var, "VB")) 
End Sub
           
VBA字元串

2、InStrRev

InStrRev()

函數傳回一個字元串在另一個字元串中的第一次出現。搜尋從右到左。

InStrRev(string1,string2[,start,[compare]])
           
  • String1 - 必需的參數,要搜尋的字元串。
  • String2 - 必需的參數。要在

    String1

    中搜尋的字元串。
  • Start - 一個可選參數。指定搜尋的起始位置。從右到左的第一個位置開始搜尋。
  • Compare - 一個可選參數。指定要使用的字元串比較。 它可以采取以下提到的價值。
    • 0 = vbBinaryCompare - 執行二進制比較(預設)
    • 1 = vbTextCompare - 執行文本比較

其中Start參數是指定搜尋的起始位置,比如指定start=5,那麼搜尋從o開始往左搜尋,如果搜尋s,則傳回值為0.

Private Sub Constant_demo_Click()
   var = "Microsoft VBScript"
   msgbox("Line 1 : " & InStrRev(var,"s",10))
   msgbox("Line 2 : " & InStrRev(var,"s",7))
   msgbox("Line 3 : " & InStrRev(var,"f",-1,1))
   msgbox("Line 4 : " & InStrRev(var,"t",5))
   msgbox("Line 5 : " & InStrRev(var,"i",7))
   msgbox("Line 6 : " & InStrRev(var,"i",7))
   msgbox("Line 7 : " & InStrRev(var,"VB",1))
End Sub
           

3、LCase()

LCase()

函數将輸入的字元串轉換為小寫字母後傳回字元串。

Private Sub Constant_demo_Click()
   var = "Microsoft VBScript"
   msgbox("Line 1 : " & LCase(var))

   var = "MS VBSCRIPT"
   msgbox("Line 2 : " & LCase(var))

   var = "microsoft"
   msgbox("Line 3 : " & LCase(var))
End Sub
           
VBA字元串

4、UCase()将字元串轉為大寫字母

UCase

函數将輸入的字元串轉換為大寫字母後傳回字元串。

Private Sub Constant_demo_Click()
   var = "Microsoft VBScript"
   msgbox("Line 1 : " & UCase(var))

   var = "MS VBSCRIPT"
   msgbox("Line 2 : " & UCase(var))

   var = "microsoft"
   msgbox("Line 3 : " & UCase(var))
End Sub
           
Line 1 : MICROSOFT VBSCRIPT
Line 2 : MS VBSCRIPT
Line 3 : MICROSOFT
           

5、left/right/Mid和excel裡面含義一樣

VBA字元串

8、

Ltrim()

函數删除字元串左側的空格。

Private Sub Constant_demo_Click()
   Dim var as Variant
   var =       "             Microsoft VBScript"
   msgbox "After Ltrim : " & LTrim(var)
End Sub
           
VBA字元串

9、同Ltrim

VBA字元串

11、Len函數

Len

函數傳回給定輸入字元串的長度,包括空格。

12、Replace函數

VBA字元串
Private Sub Constant_demo_Click()
   Dim var As Variant
   var = "VBAlesson"
   MsgBox "Repalce函數用法,原字元串“VBAlesson”,删除VBA後剩下 " & Replace(var, "VBA", "")
End Sub
           
VBA字元串

13、

Space

函數用特定數量的空格填充字元串。

Private Sub Constant_demo_Click()
   Dim var1 as Variant

   var1 = "Microsoft"
   Dim var2 as Variant

   var2 = "VBScript"
   msgbox(var1 & Space(2)& var2)
End Sub
           
VBA字元串

14、StrComp(string1,string2[,compare])

在比較兩個給定字元串後,

StrComp

函數傳回一個整數值。它可以根據要比較的輸入字元串傳回三個值:

-1

,

1

中的任何一個。如下 -

  • 如果 

    String1 < String2

    , 那麼 

    StrComp

     函數傳回 

    -1

  • 如果 

    String1 = String2

    , 那麼 

    StrComp

     函數傳回 
  • 如果 

    String1 > String2

    , 那麼 

    StrComp

     函數傳回 

    1

文法

StrComp(string1,string2[,compare])
           

Vb

參數說明

  • String1 - 必需的參數。第一個字元串表達式。
  • String2 - 必需的參數。第二個字元串表達式。
  • Compare - 一個可選參數。 指定要使用的字元串比較。它可以采用以下值。
    • 0 = vbBinaryCompare

       - 執行二進制比較(預設)
    • 1 = vbTextCompare

       - 執行文本比較
Private Sub Constant_demo_Click()
   Dim var1 As Variant
   MsgBox ("Line 1 :" & StrComp("Microsoft", "Microsoft"))
   MsgBox ("Line 2 :" & StrComp("M", "m"))
   MsgBox ("Line 3 :" & StrComp("Microsoft", "MiCrOsOfT"))
   MsgBox ("Line 4 :" & StrComp("Microsoft", "MiCrOsOfT", 1))
   MsgBox ("Line 5 :" & StrComp("Microsoft", "MiCrOsOfT", 0))
End Sub
           

小寫字母大于大寫字母

VBA字元串
VBA字元串
VBA字元串
VBA字元串
VBA字元串

Tips:執行二進制比較,小寫=大寫字母

15、String函數

String

函數使用指定的字元填充指定次數的字元串。

文法

String(number,character)
           

Vb

參數說明

  • Number - 必需的參數。一個整數值,對于字元參數将重複指定的次數。
  • Character - 必需的參數。字元值,必須重複指定的次數。
Private Sub Constant_demo_Click()
   msgbox("Line 1 :" & String(3,"$"))
   msgbox("Line 2 :" & String(4,"*"))
   msgbox("Line 3 :" & String(5,100))
   msgbox("Line 4 :" & String(6,"ABCDE"))
End Sub
           

結果如下:

Line 1 :$$$
Line 2 :****
Line 3 :ddddd
Line 4 :AAAAAA
           

16、StrReverse()

StrReverse

函數反轉指定的字元串。

文法

StrReverse(string)
           
Private Sub Constant_demo_Click()
   msgbox("Line 1 : " & StrReverse("VBSCRIPT"))
   msgbox("Line 2 : " & StrReverse("My First VBScript"))
   msgbox("Line 3 : " & StrReverse("123.45"))
End Sub
           

結果:

Line 1 : TPIRCSBV
Line 2 : tpircSBV tsriF yM
Line 3 : 54.321
           
vba