本帖最后由 csmctjg 于 2013-6-8 09:01 编辑
- Sub aa()
- Dim i%, j%, k&, x%, arr, brr(1 To 100000, 1 To 5)
- arr = Range("A1:E" & Range("A" & Rows.Count).End(3).Row)
- For i = 1 To UBound(arr) - 4
- For j = i + 1 To i + 4
- k = k + 3
- For x = 1 To 5
- brr(k - 2, x) = arr(i, x)
- brr(k - 1, x) = arr(j, x)
- Next
- Next
- Next
- [A1].Resize(UBound(arr), 5).ClearContents
- [A1].Resize(k, 5) = brr
- End Sub
- 若结尾不足4对组合也须组合的话用下面程序:
- Sub aa()
- Dim i%, j%, k&, x%, arr, brr(1 To 100000, 1 To 5)
- arr = Range("A1:E" & Range("A" & Rows.Count).End(3).Row)
- For i = 1 To UBound(arr) - 1
- For j = i + 1 To i + IIf(UBound(arr) - i < 4, UBound(arr) - i, 4)
- k = k + 3
- For x = 1 To 5
- brr(k - 2, x) = arr(i, x)
- brr(k - 1, x) = arr(j, x)
- Next
- Next
- Next
- [A1].Resize(UBound(arr), 5).ClearContents
- [A1].Resize(k, 5) = brr
- End Sub
复制代码 |