登录 注册

Excel技巧之在长时间运算中使用友好提示

资讯 驱动中国 若水 2,940 次阅读 0 条评论
分享 Q

如果某段VBA 代码需要较长的执行时间,为了不让使用者在不明就里的状态下等待程序运行,甚至认为Excel 死机,VBA 开发人员应该使用友好的提示,用于告知使用者当前的状况。
    有许多种方法能够在程序中达到友好提示的效果,例如在特定工作表中插入平时不可见的包含提示信息的自定义形状,并在程序开始运行时激活它;或者专门制作一个窗体,并放上进度条。但是,越美观的友好提示,其本身也会占用越多系统资源,并导致程序的运行时间更长。
    最简单实用的友好提示方法是使用Excel 的状态栏,下面的代码利用一段无意义的单元格填充代码来演示了通过Excel 的状态栏向使用者进行信息传达的效果。
    Sub ShowStatusBar()
    Const WaitMessage = "程序正在计算中,请稍候..."
    Dim k As Long
    '更改系统状态条的显示
    Application.StatusBar = WaitMessage
    '空循环
    For k = 1 To 60000
    ActiveSheet.Cells(k, 1).Value = k * 4 / 8 * 2 + 5 - 3 - 2
    Next
    '清除A 列的内容
    Columns("A:A").ClearContents
    '恢复系统状态条
    Application.StatusBar = False
    End Sub
    当程序开始运行时,Application.StatusBar = WaitMessage 会让Excel 状态栏显示预先定义好的文字内容,如图355-1 所示。
    而当程序的主要功能完成后,Application.StatusBar = False 将状态栏恢复到默认状态, 图355-2 所示。

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友