VBA进度条ProgressForm2

        在上一章中我跟大家介绍了ProgressBar控件的使用方法,但由于该控件无法在64位版本的Office中运行,为此我们可以采用Label控件来模拟进度条的变化,以解决在64位版本的Office中无进度条控件的问题。

一、设计思路

        添加两个重叠的Label标签控件,一个作为进度条的背景,一个作为进度条填充的前景,通过动态改变前景标签的长度,即可模拟出进度条不断变化的效果,如下图1。


图1

二、使用演示

        添加窗体和控件的方法这里就不重复讲解了,不懂的操作的可以回看上一章《VBA如何添加PorgressBar进度条控件》的内容,调用模拟进度条窗体的代码如下:

Sub Demo_ProgressForm2()
'
' Label进度条演示,执行过程请不要关闭窗体,否则会出错。
'
    Application.ScreenUpdating = False    ' 禁用屏幕更新

    Dim totalSteps As Long
    Dim i As Long
    
    ' 创建并显示进度条窗体
    Dim progForm As New ProgressForm2
    progForm.Show vbModeless  ' 非模态显示
    
    totalSteps = 10
    For i = 1 To totalSteps
        ' 这里执行你的任务代码...
        Application.Wait (Now + TimeValue("0:00:01"))    ' 模拟耗时操作
        progForm.UpdateProgress totalSteps, i    ' 更新进度条
    Next i
    
    Application.Wait (Now + TimeValue("0:00:01"))    ' 延时1秒显示完整进度
    
    Application.ScreenUpdating = True    ' 启用屏幕更新
    
    ' 关闭进度条窗体
    Unload progForm
    Set progForm = Nothing

    MsgBox "处理完成!", vbInformation, "提示"
    
End Sub

        运行效果如下图2:


图2

三、窗体文件下载

        将ProgressForm2的窗体文件导入Excel中即可直接调用,注意在运行过程中不要关闭进度条 窗体,否则会导致Excel进程崩溃并异常退出。

        下载地址:https://download.csdn.net/download/bigtoothcat/90948266?spm=1001.2014.3001.5501

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TOMaster.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值