|
发表于 2014-1-5 15:12
|
显示全部楼层
本楼为最佳答案
这个比较简单啊- Sub 转换()
- Dim arr, brr()
- Dim i%, j%, k%, MaxCol%
- arr = Range("a1:b" & Cells(Rows.Count, 2).End(3).Row)
- ReDim brr(1 To UBound(arr) - 1, 1 To UBound(arr))
- For i = 2 To UBound(arr)
- If arr(i, 1) <> "" And arr(i, 1) <> arr(i - 1, 1) Then
- k = k + 1: j = 2
- brr(k, 1) = arr(i, 1)
- brr(k, 2) = arr(i, 2)
- ElseIf arr(i, 1) = "" Then
- j = j + 1
- brr(k, j) = arr(i, 2)
- If j > MaxCol Then MaxCol = j
- End If
- Next
- Range("e15").Resize(UBound(brr), UBound(brr, 2)).ClearContents
- Range("e15").Resize(k, MaxCol) = brr
- End Sub
复制代码 |
|