標籤:

vba split函數應用:分離商品與數量

一、基礎知識

Split 函數

Split 函數返回一個包含分割符的基礎上進行分隔特定數量的數組。

語法 :

Split(expression[,delimiter[,count[,compare]]]) n

  1. expression, 必需的參數。該字元串表達式,可以包含分隔符的字元串。
  2. delimiter, 一個可選的參數。參數用於轉換成基於定界符數組。
  3. count, 一個可選的參數。要返回子串的數目,並且如果指定為-1,那麼所有的子串被返回。
  4. 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

推薦閱讀:

如何用批處理刪除指定大小的文件?
怎樣自動以管理員身份運行bat文件?
使用cmd命令簡化語料提取步驟

TAG:VBA | 批处理 |