欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科技知识

如何取在excel中不包含一些单元格数值的随机数

科普小知识2022-06-11 22:40:36
...

excel是办公尤其是处理数据的一个好帮手,它能给需要进行各类数据处理提供很强大的支持。有两个单元格有固定值,而另外还有一个单元格需要取随机数,但又要求不要和那两个有固定值得单元格重复。如何取呢?随机函数?rand()和randbetween()都可以,但是一时间还真想不出满足要求的写法。于是发现用VBA编写也许更简单。于是就有了下文。

方法/步骤

这里为了方便验证,我们将随机数值尽量取小一点,如果你要大一些的随机数,可以修改程序。

设在D1单元格里取随机数(1——5之间),A1、B1单元格为有固定数值的单元格,当然数值范围也在1——5直接,否则毫无意义。

要编写VBA,首先就要打开VBA,打开VBA的方法不止一种,这里我们就使用最简单最快捷的方式,使用快捷键吧。按“Alt+F11”打开VBA窗口。VBA窗口右侧子窗口就是输入代码用的。

输入代码,如下:

Public Sub btsj()Dim sjd As Range Set sjd = Range("D1")line1: sjd.ClearContents Randomize sjd = Int(Rnd * 5 + 1) If sjd = Range("A1") Or sjd = Range("B1") ThenGoTo line1End IfEnd Sub

完成后就可以试运行并保存,运行是那个小三角,好像播放图标一样的,保存的图标不用多说。点击小三角图标后可能会弹出一个窗口,再点击运行即可。

为了快速验证,我们可以给宏加上快捷键,如图所示,这里我们给它设置快捷键“Ctrl+s”,现在我们只要按Ctrl+s就可以快速运行该宏/程序了。

注意事项

编写VBA程序的时候要细心,如果有错误提示,需要理性分析,耐心检查。