怎样取在excel中不包含某些单元格值的随机数?
2023-03-17
更新时间:2023-03-17 21:31:18 作者:通达百科
excel是办公尤其是处理数据的一个好帮手,它能给需要进行各类数据处理提供很强大的支持。有两个单元格[单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。]有固定值,而另外还有一个单元格需要取随机数[随机数是专门的随机试验的结果。],但又要求不要和那两个有固定值得单元格重复。如何取呢?随机函数?rand()和randbetween()都可以[可以 拼音 [kě yǐ] 表示:1、可能或能够。],但是一时间还真想不出满足要求的写法。于是发现用VBA编写[编写,汉语词汇,释义为编排书写。]也许更简单。于是就有了下文。
方法/步骤
这里为了方便验证,我们将随机数值[数值,是汉语词汇,汉语拼音为shù zhí,指的是用数目表示的一个量的多少。]尽量取小一点,如果你要大一些的随机数,可以修改程序。
设在D1单元格里取随机数(1——5之间),A1、B1单元格为有固定数值的单元格,当然数值范围也在1——5直接,否则毫无意义。
要编写VBA,首先就要打开[打开,是一种常用的动词,它指的是,把器皿或盒子的盖子掀开。]VBA,打开VBA的方法不止一种,这里我们就使用最简单最快捷的方式,使用快捷键[快捷键,又叫快速键或热键,指通过某些特定的按键、按键顺序或按键组合来完成一个操作,很多快捷键往往与如 Ctrl 键、Shift 键、Alt 键、Fn 键以及 Windows 平台下的 Windows 键和 Mac 机上的 Meta 键等配合使用。]吧。按“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
完成后就可以试运行并保存,运行是那个小三角,好像播放图标[图标是具有明确指代含义的计算机图形。]一样的,保存的图标不用多说。点击[用 Tablet 笔触摸某项后迅速抬起笔。]小三角图标后可能会弹出一个窗口,再点击运行即可。
为了快速验证,我们可以给宏加上快捷键,如图所示,这里我们给它设置快捷键“Ctrl+s”,现在我们只要按Ctrl+s就可以快速运行该宏/程序了。
注意事项
编写VBA程序的时候要细心,如果有错误提示,需要理性分析,耐心检查。
以上就是在excel中不包含一些单元格数值的随机数方法介绍,大家学会了吗?希望能对大家有所帮助!