excel任意数字自动组合排列
左边黑色的格子里面有一些数据(数据有时候多有时候少,不过最多10个,反正就在黑色格子里面),我想要点一下右边按钮,这些数据就在黑色下面的单元格里自动每行3个3个的不重复逐...
左边黑色的格子里面有一些数据(数据有时候多有时候少,不过最多10个,反正就在黑色格子里面),我想要点一下右边按钮,这些数据就在黑色下面的单元格里自动每行3个3个的不重复逐行排下去,一直到排完,请问这个代码该怎么写呢?有没有哪位哥们帮帮忙啊,
展开
展开全部
Sub rand()
Dim i%, j%, a%, b%, c%, m&, arr(1 To 12), brr(), k%
k = 1
For i = 1 To 4
For j = 1 To 3
If Cells(i, j) <> "" Then
arr(k) = Cells(i, j).Value
k = k + 1
Else
End If
Next
Next
ReDim brr(1 To (k - 1) * (k - 2) * (k - 3) / 6, 1 To 3)
m = 1
For a = 1 To k - 3
For b = a + 1 To k - 2
For c = b + 1 To k - 1
brr(m, 1) = arr(a)
brr(m, 2) = arr(b)
brr(m, 3) = arr(c)
m = m + 1
Next
Next
Next
Cells(6, 1).Resize(m - 1, 3) = brr
End Sub
Dim i%, j%, a%, b%, c%, m&, arr(1 To 12), brr(), k%
k = 1
For i = 1 To 4
For j = 1 To 3
If Cells(i, j) <> "" Then
arr(k) = Cells(i, j).Value
k = k + 1
Else
End If
Next
Next
ReDim brr(1 To (k - 1) * (k - 2) * (k - 3) / 6, 1 To 3)
m = 1
For a = 1 To k - 3
For b = a + 1 To k - 2
For c = b + 1 To k - 1
brr(m, 1) = arr(a)
brr(m, 2) = arr(b)
brr(m, 3) = arr(c)
m = m + 1
Next
Next
Next
Cells(6, 1).Resize(m - 1, 3) = brr
End Sub
更多追问追答
追问
你好,如果我想要改成2个一组的话该怎么改啊,有空帮忙处理一下吗?谢谢!
你好,如果我想要改成2个一组的话该怎么改啊,有空帮忙处理一下吗?谢谢!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询