欢迎光临散文网 会员登陆 & 注册

ExcelVBA 大哥做小学数学;我用ADO回答网友问题

2023-11-30 12:17 作者:孙兴华zz  | 我要投稿

网友提问

回答网友问题:

如果只需要答案,直接拉到文章最后,如果想学习知识,顺序往下看!

一、先判断是否能平分

有余数就是不能平分,没有就是可以平分

二、如果向上取整

三、先用数字假设

将判断是否有余数和向上取整的功能写在一起

(1)假设把10分给3个人

(2)假设把9分给3个人

四、先用一种水果测试

现在我就手工的写出这3个人:张三、李四、王五

后面我告诉你如何自动生成

截止到这里,我是让我大哥算的!这些都与计算机没有直接联系!不能说用计算机写的就是计算机知识!

后面是我写的,才是计算机知识呢!

因为涉及多个商品,所以我把表改装一下

例如我要将上表中商品编码是A01的筛选出来

现在用我大哥算好的代码,写进来

友情提示:别忘记记录集中的下标(不算表头,从第1条记录开始)是从0开始的计数的

运行结果

看一下下标取对了,就可以应用了

友情提示:运行前记得把张三、李四、王五原有的内容都删除

运行后

现在只有一种商品,我们可以应用多种商品

for循环对应的next别忘记写

完整代码:需要答案的小伙伴直接用下面代码就可以了

更改你的商品名称在Crr数组中,更改你的姓名:张三李四王五,在arr数组中

运行结果

友情提示:运行前删除 张三、李四、王五原有表中的数据

关于:张三、李四、王五等人名工作表的生成

详见:ExcelVBA第一季第一集

https://www.bilibili.com/video/BV1rt4y1a72y

关于商品编码去重后放到数组中

详见ExcelVBA第二季笔记 22.1.5

或 ExcelVBA第二季第22集

https://www.bilibili.com/video/BV1rt4y1a72y

我的目的不是写个代码卖给谁,而是让大家看到我写的方法,所以我没有把它完全写活!至少现在学过的人还能看懂!您想让哪块写活,再去完善!


此方法,肯定要比筛选Autofilter筛选后粘贴到一个地方再算要快。也比筛选数组的代码量要少很多。但是它同样有一个缺点,就是不符合数据库规则的表格很麻烦。例如

能转换,但是这些建议初始状态下就规范,以免给后续工作找麻烦

本来新人写代码就手生,再为这些没必要的事情增加逻辑思考和不必要的代码量,不值当的

写在最后:本代码在office365下测试通过! office2016~2021 如果软件安装没有问题都应该可以使用! WPS或office早期版本没有测试过,不一定能用!

ExcelVBA 大哥做小学数学;我用ADO回答网友问题的评论 (共 条)

分享到微博请遵守国家法律