vba split函數應用:分離商品與數量
一、基礎知識
Split 函數
Split 函數返回一個包含分割符的基礎上進行分隔特定數量的數組。
語法 :
Split(expression[,delimiter[,count[,compare]]]) n
- expression, 必需的參數。該字元串表達式,可以包含分隔符的字元串。
- delimiter, 一個可選的參數。參數用於轉換成基於定界符數組。
- count, 一個可選的參數。要返回子串的數目,並且如果指定為-1,那麼所有的子串被返回。
- compare, 一個可選的參數。此參數指定要使用哪個比較方法。
- 0 = vbBinaryCompare - 執行二進位比較
- 1 = vbTextCompare - 執行文本比較
二、案例分析實踐
面對雜亂成堆的進貨單數據,如果想從中挑選出商品和數量會是很麻煩的一件事。然而一般都有規律可循。下面這個例子就可以用vba很好的解決。
通過觀察發現每種商品之間都是用字元串 ],[間隔的。這個時候就可以用split函數。
Sub 自動分列()n Dim i As Integern Dim m As Integern Dim n As Integern k = 1n m = Sheet1.UsedRange.Rows.Count 獲取使用的最大行數n For i = 2 To mn arr = Split(Sheet1.Cells(i, 1), "] ,[") 用split函數以「],[」為特徵字元串劃分為數組n n = UBound(arr) 獲取數組最大編號n For s = 0 To nn arr(s) = Replace(arr(s), "[", "") 替換頭部的「[」n arr(s) = Replace(arr(s), "]", "") 替換尾部的「]」n k = k + 1n Sheet1.Cells(k, 2) = Split(arr(s), ",數量:")(0) 將分列結果列出來n Sheet1.Cells(k, 3) = Split(arr(s), "數量:")(1)n Nextn NextnEnd Subnn通過這個段代碼就可以實現,商品數量自動分離。n
推薦閱讀: