如何用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========================================现在效果如图,如何修改为抽取不重复的数字,并将每次结果依次显示在结果那列? 展开
 我来答
鱼木混猪哟
高粉答主

2017-01-10 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33694

向TA提问 私信TA
展开全部
抽取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
追问
哥,虽然结果出来了,但我要的是过程那个效果,请看清我的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式