寵物展會2025年時間表
627
2025-04-01
excel vba與字符串數組有關的三個函數
Split函數返回一個下標從零開始的一維數組,它包含指定數目的子字符串。Split(字符串[, 分隔符[, 要返回的子字符串數量[,比較方式]]])后三項可選,默認:分隔符為空格,返回全部子字符串,用Option Compare語句中的設置值執行比較。下面是將1-12轉化為一月-十二月的自定義函數的例子。Function Num2ch(ByVal n As Integer) As StringDim ArrArr = Split(",一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月", ",")Num2ch = Arr(n)End Function和Array函數相比,用Split的好處在于生成的數組是字符型的,寫法上也更簡潔。注意“一月”前的逗號,這是因為Split生成的數組下標是從0開始的,且不受Option Base句的影響。
Join函數返回一個字符串,該字符串是通過連接某個數組中的多個子字符串而創建的。Join(源數組[,分隔符])默認:分隔符為空格當將分隔符設為空串(””)時,會返回一個各數組元素會直接相連的字符串。該函數是Split函數的反函數,它是將數組轉化為字符串。Join和Split相配合,可用于擴充控件TAG屬性的傳遞數量;在不定參數的傳遞時,可使代碼看起來更簡潔。下面只是它們配合的示例,并不是這兒真有必要這樣做:Sub aMain()Dim arr(1 To 2), s$arr(1) = 1: arr(2) = 2s = Join(arr, ",")Debug.Print Myadd(s)End SubFunction Myadd(ByVal s As String)Dim arr, xarr = Split(s, ",")For Each x In arrMyadd = Myadd + Val(x)Next xEnd Function
Filter函數返回一個下標從零開始的數組,該數組包含基于指定篩選條件的一個字符串數組的子集。Filter(源數組,要搜索的字符串[,返回子串包含還是不包含要搜索字符串[,比較方式]])如果在源數組中沒有發現與要搜索的字符串相匹配的值,Filter返回一個空數組。如果源數組是Null或不是一個一維數組,則產生錯誤。注意是“包含”要搜索的字符串,而不是“等于”要搜索的字符串。這意味著,如果一數組元素為字符串“AB”,用“A”、“B”、“AB”中的任何一個去搜索(上面第三個參數為默認值True),都會作為新的數組的元素被返回。但這并不影響你創造成“包含”等同于“等于”的條件,或者數據本身就符合這一要求的條件。在“包含”等同于“等于”的數組中,我們可以用下面的辦法來判斷一個字符串是否屬于某個數組。If UBound(Arr) = UBound(Filter(Arr, "要找的字符串", False)) Then ‘說明在數組Arr中找不到
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。