ExcelVBA如何制作进度条?

用VBA做Excel的大量数据处理时,程序要运行很长时间,当VBA程序运行后台运行时Excel是不允许操作的,这样Excel长时间的被后台运行的VBA占用,容易造成Excel假死,一直处于运行中,很多人再一不小心点到哪个地方,Excel一下子就崩溃了,坑啊有木有,这时焦虑如你就想着搞个进度条,先不管它会拖慢进程的问题,好歹让我看到运行到哪里了吧。

这里介绍一下比较通用的方法,当然还有其他方法,但为了避免出现兼容性的问题,我们推荐时候这种方法,导入类模块,导致你直接把这个类实例化一下就可以用了。

如下图:

这样做的类似API版本的Treeview或Listview,比较方便。相信会用到进度条的都是一些稍微复杂一点的VBA工程了吧,所以导入个类模块,3秒钟,完美解决你的进度条需求,很好。

然后呢,就是创建进度条,修改进度条的进度,到关闭进度条,这个过程当然你可以融进自己的代码,也可以直接写成函数,要用的时候调用一下这个进度条函数就ok了,但我还是觉得前一种方法比较好。

好了,整体效果,看下图实例,新建100个。

其实,个人觉得进度条这种操作除了好看,就没什么用了,本来做进度条就是因为程序比较慢,你再加个进度条进度,不是更慢了吗,真的慢还是要从代码优化入手的,或者数据达到一定量级,那就不是Excel表该干的事了,交给数据库或ERP吧。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181205G0J0KP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券