|
老师,您写的这段程序,有个问题,就是标题不按照顺序排列的时候引用不对,我改了一下,看看怎样再优化一下,刚学,多多指教。- Sub shishi()
- Dim arr, brr(1 To 9999, 1 To 100), d
- Set d = CreateObject("scripting.dictionary")
- With Sheet1
- r = .Cells(.Rows.Count, "a").End(xlUp).Row
- c = .Cells(2, Columns.Count).End(xlToLeft).Column
- arr = .[a1].Resize(r, c)
- crr = WorksheetFunction.Transpose(WorksheetFunction.Transpose(.[a2].Resize(1, c)))
- End With
- With Sheet2
- c = .Cells(3, Columns.Count).End(xlToLeft).Column
- For i = 1 To c
- d(.Cells(3, i).Value) = .Cells(3, i).Offset(-1, 0).Value
- Next
- End With
- k = d.items
- For j = 0 To d.Count - 1
- If k(j) = "" Then
- For l = 1 To r - 1
- brr(j + 1, l) = ""
- Next l
- ElseIf k(j) <> "" Then
- kk = WorksheetFunction.Match(k(j), crr, 0)
- For l = 2 To r - 1
- brr(j + 1, l - 1) = arr(l + 1, kk)
- Next l
- End If
- Next
- Sheet2.UsedRange.Offset(3) = ""
- Sheet2.Range("a4").Resize(r - 2, c) = WorksheetFunction.Transpose(brr)
-
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|