在我的《财务管理系统》里,在填制凭证的时候,可以查询凭证空号,以便填补空号: 我原来的代码是这样的:
代码逻辑,来来来,AI同志,你来解释一下: 看来我的代码是有点问题,至少效率比较差,于是AI也帮我出了主意,过程略过,最终,优化后的代码如下:
为了测试这两种方法的效率,我们做点前戏,先准备一个启用宏的Excel文件“凭证空号": 首先,我们准备一个比较大的自然数列,选中Sheet1,A1:A15000单元格,输入公式=ROW(),然后按Ctrl+Enter,填充选择区域,下一步我们把它粘贴成数值,因为接着我们要删除部分数字。 然后,我们在b列输入公式=mod(a1,5),得到一个0-4的循环序列,随便筛选几个,把选中的数字复制到sheet2,然后回头把它删除,这样我们就得到一个不完整的自然数序列。 接着我们就要用VBA代码把缺少的数字给它列出来: 我们先运行旧代码,然后再把它注释掉,再运行新代码: 我们可以看到两者的差距是很大的,可见代码优化还是非常必要的。 其实,旧代码我也用了好长时间了,由于数据量不大,感觉不到效率低下的问题。今天,在合并用户窗体的时候,看到这段代码,感觉有点陌生了,于是稍微梳理一下,感觉有点问题,两层完全循环,如果数据量大肯定是不行的。 于是,想着怎么改改,然后就把我的需求告诉AI,它给出的方式还是非常好的,就按照它的代码的思路改了改,发现效率相差真是惊人。 表面上看我以前的代码要比现在的代码量少,看上去简洁,但真应了一句话“简单粗暴”,效率方面就差了很多。 好了,今天就啰嗦这么多,需要完整空号查询代码的小伙伴赶快在留言区留言:“凭证空号"+评论,再私信留下邮箱吧。我们下期再见. |
|