|
楼主 |
发表于 2017-6-16 10:17
|
显示全部楼层
Sub Macro1()
Dim arr, brr(), crr(), d As Object, i As Long, j As Long, k As Long, m As Long, n As Long
Application.ScreenUpdating = False
Set d = CreateObject("scripting.dictionary")
d("") = ""
arr = Sheets(1).UsedRange
Sheets(3).Cells.Clear
ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
For j = 1 To UBound(arr, 2)
If d.exists(arr(1, j)) Then
m = m + 1
For i = 1 To UBound(arr)
brr(i, m) = arr(i, j)
Next
End If
Next
ReDim crr(1 To UBound(brr), 1 To UBound(brr, 2))
For k = 1 To UBound(brr)
crr(k, 1) = brr(k, 1)
crr(k, 2) = brr(k, 2)
crr(k, 3) = brr(k, 7)
crr(k, 4) = brr(k, 9)
crr(k, 5) = brr(k, 8)
crr(k, 6) = brr(k, 10)
crr(k, 7) = brr(k, 3)
crr(k, 8) = brr(k, 5)
crr(k, 9) = brr(k, 4)
crr(k, 10) = brr(k, 6)
Next
drr = crr
n = 1
For s = UBound(crr) To 2 Step -1
n = n + 1
For t = 1 To UBound(crr, 2)
drr(n, t) = crr(s, t)
Next
Next
With Sheets(3)
.Range("a1").Resize(UBound(brr), m) = drr
.Cells.HorizontalAlignment = xlCenter
.Cells.EntireColumn.AutoFit
.Activate
End With
Application.ScreenUpdating = True
End Sub
|
|