|
发表于 2015-7-10 11:23
|
显示全部楼层
本楼为最佳答案
- Sub 拆分()
- Dim arr, brr(), i&, j&, n&
- arr = [a2].CurrentRegion
- ReDim brr(1 To 6000, 1 To 4)
- For i = 2 To UBound(arr)
- If InStr(arr(i, 4), "-") > 0 Then
- For j = Split(arr(i, 4), "-")(0) To Split(arr(i, 4), "-")(1)
- n = n + 1
- brr(n, 1) = arr(i, 2)
- brr(n, 2) = arr(i, 5)
- brr(n, 3) = Format(j, "0000")
- brr(n, 4) = arr(i, 6)
- Next
- brr(n, 2) = arr(i, 3) - arr(i, 5) * (Split(arr(i, 4), "-")(1) - Split(arr(i, 4), "-")(0))
- Else
- n = n + 1
- brr(n, 1) = arr(i, 2)
- brr(n, 2) = arr(i, 5)
- brr(n, 3) = arr(i, 4)
- brr(n, 4) = arr(i, 6)
- End If
- Next
- [h2:k600] = ""
- Columns("j").NumberFormatLocal = "@"
- [h2].Resize(n, 4) = brr
- End Sub
复制代码
包装拆分.rar
(19.16 KB, 下载次数: 19)
|
|