用VBA做Excel的大量数据处理时,程序要运行很长时间,当VBA程序运行后台运行时Excel是不允许操作的,这样Excel长时间的被后台运行的VBA占用,容易造成Excel假死,一直处于运行中,很多人再一不小心点到哪个地方,Excel一下子就崩溃了,坑啊有木有,这时焦虑如你就想着搞个进度条,先不管它会拖慢进程的问题,好歹让我看到运行到哪里了吧。
这里介绍一下比较通用的方法,当然还有其他方法,但为了避免出现兼容性的问题,我们推荐时候这种方法,导入类模块,导致你直接把这个类实例化一下就可以用了。
如下图:
这样做的类似API版本的Treeview或Listview,比较方便。相信会用到进度条的都是一些稍微复杂一点的VBA工程了吧,所以导入个类模块,3秒钟,完美解决你的进度条需求,很好。
然后呢,就是创建进度条,修改进度条的进度,到关闭进度条,这个过程当然你可以融进自己的代码,也可以直接写成函数,要用的时候调用一下这个进度条函数就ok了,但我还是觉得前一种方法比较好。
好了,整体效果,看下图实例,新建100个。
其实,个人觉得进度条这种操作除了好看,就没什么用了,本来做进度条就是因为程序比较慢,你再加个进度条进度,不是更慢了吗,真的慢还是要从代码优化入手的,或者数据达到一定量级,那就不是Excel表该干的事了,交给数据库或ERP吧。
领取专属 10元无门槛券
私享最新 技术干货