如何用EXCEL宏抽取不重复随机数并显示?
DimaAsInteger'定义公共变量Sub随机()DimxAsIntegerDimyAsIntegera=0Randomize'初始化10:x=Rnd()*(19-2...
Dim a As Integer '定义公共变量Sub 随机()Dim x As IntegerDim y As Integera = 0Randomize '初始化10:x = Rnd() * (19 - 2) + 2 '生成2至7的随机数,代表行数y = Rnd() * (11 - 2) + 2 '生成2至6的随机数,代表列数Range("b2:k19").Interior.ColorIndex = xlNone '去掉填充色Cells(x, y).Interior.ColorIndex = 3 '填充为红色DoEvents '释放程序控制权,允许其他事件If a = 1 Then Exit Sub '如果按下“结束”钮则终止程序GoTo 10End SubSub 结束()a = 1 '结束标志End Sub========================================现在效果如图,如何修改为抽取不重复的数字,并将每次结果依次显示在结果那列?
展开
1个回答
展开全部
抽取1-180中18个非重复随机数,代码如下:
Sub m()
For i = 1 To 18
kkk:
Randomize
k = Int(Rnd * 180) + 1
If Application.CountIf(Range("M2:M19"), k) = 0 Then
Cells(i + 1, "M") = k
Else: GoTo kkk
End If
Next i
End Sub
Sub m()
For i = 1 To 18
kkk:
Randomize
k = Int(Rnd * 180) + 1
If Application.CountIf(Range("M2:M19"), k) = 0 Then
Cells(i + 1, "M") = k
Else: GoTo kkk
End If
Next i
End Sub
追问
哥,虽然结果出来了,但我要的是过程那个效果,请看清我的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |