vba自动凑数,vba凑数所有符号

首页 > 国学 > 作者:YD1662023-04-19 01:53:15

我们在E列E6:E13区域用RAND函数生成一组随机数,然后在F6:F8单元格用INDEX MATCH LARGE函数从数据源随机提取3个值。

提取后,要进行判断了,如果不满足3个数之和等于128,就继续提取直到获得最终的结果。

02

用VBA实现自动计算

显然,这是一个计算量很大的过程,整个提取过程是随机的,你也不知道什么时候能刚好把那3个数取出来。

所以,我们这里用VBA来实现这个过程,以下是我编写的VBA代码。

vba自动凑数,vba凑数所有符号(5)

我们来试试完成自动凑数,需要多少时间?

vba自动凑数,vba凑数所有符号(6)

可以看到,这次运行只花了1.9秒就找出了答案。当然每次运行找到答案的时间也是随机的,快的时候零点几秒,慢的时候3、4秒,但基本上我试了几次,平均不2秒的时间就够了。

大家可以想象一下,如果我们靠自己手动来凑数的话要花多长时间。这就是VBA的优势——让计算机帮我们自动执行。

vba自动凑数,vba凑数所有符号(7)

上面我们解决了已知数据个数的情况的计算,但是假如我们不知道到底128是由几个数构成的,那又该怎么处理?

03

问题的升级

在数据个数不确定的情况下,我们可以看数据源,理论上,极限可能就是构成128的个数最小为1个,最大为8个。当然根据数据大小观察,可能不需要8个数、最多4、5个数就够了。

因此,我们将数据源及公式稍作调整。

vba自动凑数,vba凑数所有符号(8)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.