|
参考代码
- Sub demo()
- Dim crr()
- arr = Sheet1.[a1].CurrentRegion.Value
- ir = UBound(arr, 1)
- ic = UBound(arr, 2)
- ReDim crr(1 To ic, 1 To 2)
- For c = 1 To ic 'í3¼ÆÿáDDDêy
- For r = ir To 1 Step -1
- If arr(r, c) <> "" Then
- crr(c, 1) = c
- crr(c, 2) = r
- Exit For
- End If
- Next
- Next
- For i = 1 To ic - 1 'ÅÅDò
- For j = i + 1 To ic
- If crr(i, 2) > crr(j, 2) Then
- For k = 1 To 2
- tmp = crr(i, k): crr(i, k) = crr(j, k): crr(j, k) = tmp
- Next
- End If
- Next
- Next
- Sheet2.UsedRange.Clear
- Sheet2.[a1].Resize(ir, ic).Value = brr
-
- For c = 1 To ic '×a»»êy¾Y
- Sheet1.Cells(1, crr(c, 1)).Resize(ir, 1).Copy Sheet2.Cells(1, c)
- Next
-
- End Sub
复制代码 |
|