如何在Excel VBA中设置进度条

如何在Excel VBA中设置进度条,第1张

Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub dfff()

    UserForm1.Show

        UserForm1.Label2.Top = UserForm1.Label1.Top

        UserForm1.Label2.Left = UserForm1.Label1.Left

        UserForm1.Label3.BackStyle = fmBackStyleTransparent

    For i = 1 To 100

        UserForm1.Label3.Caption = i & "%"

        UserForm1.Label1.Width = UserForm1.Label2.Width * i / 100

        Sleep 100

        UserForm1.Repaint

    Next

        UserForm1.Label3.Caption = "加载完成!"

End Sub

窗体设置3个label, label1背景 label2进度 label3文字。重叠放在一起,label1最低,label2中间,label3置顶

新建一个"用户窗体",设置合适大小,添加两个"label标签",其中一个用作进度条的边框,即填充区,另一个用作填充实体.

在VBA程序内部加入控制代码,当程序开始运行时,调出"用户窗体",当程序运行到某处时,进度条的显示状态,若程序处于循环内部时,可以根据循环次数设定进度条变化状态,还需用DoEvents释放控制权给进度条刷新显示.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11885581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存