分享

10句代码教你写一个进度条

 VBA说 2020-04-07
10句代码,写一个进度条

用VBA做Excel的大量数据处理时,程序要运行很长时间,当VBA程序运行后台运行时Excel是不允许操作的,这样Excel长时间的被后台运行的VBA占用,会给用户一直MicroSoft Excel程序死掉了的感觉。

因此,VBA做Excel的大量数据处理时给用户一个表示数据处理完成度的进度条是很有必要的。

今天给大家分享一个最简单的进度条,先上效果:

这样的效果,只用10句代码就可以完成,人人都可以学会。

原理:建立窗体,添加两个标签,标签1为进度条,标签2为百分比文字(透明显示,backstyle为fmBackStyleTransparent)。标签1的宽度随着循环的推进随时变化。

实际操作:

建立窗体,添加Lable1、Lable2,Lable1在下,Lable2在上。将Lable的Backcolor设置为你想要的颜色。Lable2的文字设置成默认的0%。

外围可以再添加一个Frame框架,为了美观一些。

模块添加代码

Sub 进度条二标签()

    UserForm2.Show 0

    For i = 1 To 10000

        nBl = i / 10000 

           UserForm2.Label1.Width = 372 * nBl '进度条Lable1长度(372是总长度,设计时有变请修改)

           UserForm2.Label2.Caption = String(13, " ") & Format(nBl, "0%") '文字,前面的空格个数13根据实际标签宽度修改,只是为了文字居中显示

        DoEvents '必须,否则进度条不显示过程

    Next

End Sub

这样,一个简单的进度条就做好了。

实际应用的话,要添加自己程序的循环上限,这里用的是 For i = 1 To 10000,实际应用在代码中需要修改循环上限。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多