excel从A1到J10做出随机生成的不重复的100个数字

我很菜,但是想做这么一个东西,希望有人能够帮助我。我需要一步一步尽可能的详细,否则我无法做到。从A1到J10这100个单元格里生成从1到100的随机数字,而且要求不重复。... 我很菜,但是想做这么一个东西,希望有人能够帮助我。
我需要一步一步尽可能的详细,否则我无法做到。
从A1到J10这100个单元格里生成从1到100的随机数字,而且要求不重复。
如何能够做到?
在线等,分能给多少就给多少!!!
一楼的答案很好,我安你的做了,但是每次都提示安全级别高,宏被禁用,而且不随机。
我说的随机的意思是,每次进,数字的位置都是变化的。
调整安全后,每次进的时候提示启用禁用宏,再次点击工具宏那个随机数变化,可以用了,但是不太方便,还有更好的办法吗?
补充的很好,每次都变了,但是关闭的时候提示保存不保存,那个选哪个都无所谓吧?
还有每次进的时候提示启用宏的那个能改变吗?
先把分给你。
展开
 我来答
过的开就好d9cb6
2010-02-15 · TA获得超过3.6万个赞
知道大有可为答主
回答量:2.8万
采纳率:100%
帮助的人:5.2亿
展开全部
不重复随机数,用VBA做

按ALT+F11,调出vbe

双击左边sheet列表的sheet1
在右边代码编辑区贴入以下代码

Public Sub sjs()
Dim rng As Range, rng1 As Range
Set rng = Range("A1:J10")
rng.ClearContents
Randomize
For Each rng1 In rng
Do
rng1 = Int(Rnd * 100 + 1)
Loop Until Application.WorksheetFunction.CountIf(rng, rng1) = 1
Next
End Sub

excel表格菜单栏,工具,宏,选中该宏,点击执行

补充

我说的随机的意思是,每次进,数字的位置都是变化的。

可以用thisworkbook的open事件

双击左边的thisworkbook
在右边代码编辑区贴入以下代码

Private Sub Workbook_Open()
Dim rng As Range, rng1 As Range
Set rng = Sheets(1).Range("A1:J10")
rng.ClearContents
Randomize
For Each rng1 In rng
Do
rng1 = Int(Rnd * 100 + 1)
Loop Until Application.WorksheetFunction.CountIf(rng, rng1) = 1
Next
End Sub

把宏安全调为 中
打开后启用宏,每次打开工作薄,都会随机生成
流沙枫
2010-02-15 · TA获得超过2213个赞
知道大有可为答主
回答量:4732
采纳率:8%
帮助的人:747万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yetolee
2010-02-15 · TA获得超过580个赞
知道小有建树答主
回答量:175
采纳率:100%
帮助的人:54.2万
展开全部
受益匪浅啊,学习了。 在宏的安全性里讲级别设置成中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式