

我的目標: 讓中國的大學生走出校門的那一刻就已經具備這些Office技能,讓職場人士能高效使用Office軟件為其服務。支持我,也為自己加油!
今天分享下用VBA處理字符串時常用的函數:
Sub test()
s = "ab-CD-ef-gh"
'1、求字符串的字符長度
Debug.Print Len(s)
'2、求字符串的字節長度
Debug.Print LenB(s)
'3、小寫轉換為大寫
Debug.Print UCase(s)
'4、大寫轉換為小寫
Debug.Print LCase(s)
'5、提取字符串前兩位字符
Debug.Print Left(s, 2)
'6、提取字符串后兩位字符
Debug.Print Right(s, 2)
'7、提取字符串中第一個橫杠后的兩位字符
Debug.Print Mid(s, 4, 2)
'8、查找第一個橫杠在字符串位置
Debug.Print InStr(s, "-")
'9、從第四個位置開始查找,查找橫杠在字符串中的位置
Debug.Print InStr(4, s, "-")
'10、查找最后一個橫杠在字符串位置
Debug.Print InStrRev(s, "-")
'11、把字符串中的橫杠替換為頓號
Debug.Print Replace(s, "-", "、")
'12、按照橫杠拆分字符串
ar = Split(s, "-") 'ar為數組,為拆分后所得的四個字符串元素
'13、刪除字符串兩端的空格,如果要刪除所有的空格可以用replace
Debug.Print Trim("? abc d efg? ?")
'14、將數字轉為文本
Debug.Print str(123)
End Sub比較兩個字符串常用LIKE函數:
Sub test1()
MyCheck = "aBBBa" Like "a*a"? ? ' Returns True.
MyCheck = "F" Like "[A-Z]"? ? ' Returns True.
MyCheck = "F" Like "[!A-Z]"? ? ' Returns False.
MyCheck = "a2a" Like "a#a"? ? ' Returns True.
MyCheck = "aM5b" Like "a[L-P]#[!c-e]"? ? ' Returns True.
MyCheck = "BAT123khg" Like "B?T*"? ? ' Returns True.
MyCheck = "CAT123khg" Like "B?T*"? ? ' Returns False.
MyCheck = "ab" Like "a*b"? ? ' Returns True.
MyCheck = "a*b" Like "a [*]b"? ? ' Returns False.
MyCheck = "axxxxxb" Like "a [*]b"? ? ' Returns False.
MyCheck = "a [xyz" Like "a [[]*"? ? ' Returns True.
MyCheck = "a [xyz" Like "a [*"? ? ' Throws Error 93 (invalid pattern string).
End Sub
| ?pattern 中允許使用的字符以及它們的匹配項: | |
| pattern?中的字符 | string?的匹配項 |
| ? | 任意單個字符。 |
| * | 零個或多個字符。 |
| # | 任何單個數字 ?(0-9) 。 |
| [?charlist?] | charlist 內的任意單個字符。 |
| [?!charlist?] | charlist 外的任意單個字符。 |
)