网站首页 > 技术文章 正文
在 Excel 里用 VBA 处理进行一些操作,比如填充数据、改变单元格格式等时候,当数据比较大就需要给用户一些提示,防止用户以为程序处于卡死状态。
一般我们可以在 Excel 的状态栏显示一些提示信息,如 “正在处理中...” 等来提示用户。其实这种情况下我们最好可以显示一个进度条给用户,可以很直观的显示当前的进度。但在 Excel 状态栏添加进度条技术上比较麻烦(不是不可以实现),所以这里我就给大家提供一个取巧的办法,用特殊的字符模拟出一个任务栏进度条(具体代码见文末):
'此代码只适用于 Excel 2013 及以后版本
Sub StatusBarProgressBar()
Dim I As Long, xProgress As Long
Dim xChar1 As String, xChar2 As String
Dim xTimer As Single
xChar1 = Application.WorksheetFunction.Unichar(9646)
xChar2 = Application.WorksheetFunction.Unichar(9647)
Application.StatusBar = ""
Application.StatusBar = "正在处理: " & String(10, xChar2) & "(00%)"
For I = 1 To 100000
Application.ActiveSheet.Cells(I, 1) = I
If ((I Mod 10000) = 0) Then
xProgress = xProgress + 1
Application.StatusBar = "正在处理: " & String(xProgress, xChar1) & String(10 - xProgress, xChar2) & Format(xProgress, "(&&0%)")
DoEvents
End If
Next
Application.StatusBar = "处理完成"
xTimer = Timer
While (Timer < (xTimer + 1))
DoEvents
Wend
Application.StatusBar = ""
End Sub
猜你喜欢
- 2024-10-01 Excel VBA 事件过程实现数据变化结果也会随之自动更新
- 2024-10-01 每天长时间盯着电脑,这三招帮你缓解眼睛疲劳
- 2024-10-01 Excel-VBA:13、Excel事件程序(vba事件怎么触发)
- 2024-10-01 excel vba常用语句干货分享,错过了就不会再有了(关注!)
- 2024-10-01 设计模式之观察者模式,事件机制的底层原理全面解析(建议收藏)
- 2024-10-01 相同单元格自动变色提醒(相同单元格自动变色提醒怎么取消)
- 2024-10-01 Excel实用技巧:根据条件,锁定某个单元格
- 2024-10-01 苹果电脑这些超实用的隐藏功能,不会用就等于白花钱了!
- 2024-10-01 办公小技巧:制作自动显示子菜单的下拉菜单
- 2024-10-01 常用的、带解释的 VBA 短句(vba常用语句详解)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- js判断是否空对象 (63)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- phprequire_once (61)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)