- 帖子
- 163
- 主題
- 1
- 精華
- 0
- 積分
- 170
- 點名
- 0
- 作業系統
- Window 7
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-9-5
- 最後登錄
- 2022-7-20
|
9#
發表於 2014-5-7 19:37
| 只看該作者
回復 8# tommy.lin
檔案下載:http://ge.tt/5PcoXKg1/v/0?c
拆解來源為A∼D欄,
拆解後寫入E∼I欄。
Option Base 1
Sub test1()
Dim arr1, arr2
Dim brr()
er = [A65536].End(3).Row
arr1 = Range("A2:D" & er)
ActiveSheet.Columns(4).Replace "/", ";"
arr2 = Range("A2:D" & er)
For i = 1 To UBound(arr2)
For j = 0 To UBound(Split(arr2(i, 4), ";"))
n = n + 1
ReDim Preserve brr(5, n)
If j = 0 Then
brr(1, n) = arr2(i, 1)
brr(2, n) = arr2(i, 2)
brr(3, n) = arr2(i, 3)
brr(4, n) = arr2(i, 1)
End If
brr(5, n) = Split(arr2(i, 4), ";")(j)
Next j
Next i
[E2:I65536].ClearContents
[E2].Resize(UBound(brr, 2), 5) = Application.Transpose(brr)
Range("A2:D" & er) = arr1
arr1 = ""
arr2 = ""
Erase brr
End Sub |
|