Sleep和进度条的使用(VB或vba中)

标签:
模拟进度条vba中模拟进度条进度条的使用sleep的注意事项excel对接sql数据库 |
分类: Excel_VBA |
Sleep和进度条的使用(VB或vba中)
使用模块的顶部,先调用sleep的api
'---使用sleep的api,如果没有中断,则sleep不能执行
Private Declare Sub Sleep Lib "kernel32" (ByVal
dwMilliseconds As Long)
如图:
设置模拟进度条的窗体,窗体上含说明进度的label
如图:
加载模拟进度条的窗体
'---通过循环,将年度预算填写到,明细列表窗口
A01_进度提醒.Show 0
'显示<进度窗体>,这里<有模式>
A01_进度提醒.Label1.Caption
= "正在执行
<自动填写年度预算> ,功能 "
A01_进度提醒.Label2.Caption
= "该操作需要 <较长>时间
,请<耐性>等待.......
"
DoEvents
'DoEvents
语句允许其它事件发生,包括第二次按此按钮。
Sleep 3000
'Wait 3 seconds(等待3秒)
如图:
在循环语句中,调用,并修改显示进度内容
For
Hang_1 = 11 To ZhHang_1 - 1
A01_进度提醒.Label1.Caption =
"正在填写 <"
& Worksheets("MX单据-01").Cells(Hang_1, 3).Value & ">
科目的年度预算 "
A01_进度提醒.Label2.Caption =
"该操作需要 <较长>时间
,请<耐性>等待.......
"
DoEvents
'DoEvents
语句允许其它事件发生,包括第二次按此按钮。
Sleep 3000
'Wait 3 seconds(等待3秒)
如图:
卸载进度条窗体
Unload
A01_进度提醒
'---华宸专用
Dim
Hang_1 As Long
'MX单据-01页签的行
Dim
ZhHang_1 As Long
'MX单据-01页签的最后行
ZhHang_1 =
Worksheets("MX单据-01").Range("A65536").End(xlUp).Row
Dim
Lie_1 As Long
'MX单据-01页签的列
Dim
ZhLie_1 As Long
'MX单据-01页签的最后列
ZhLie_1 =
Worksheets("MX单据-01").Range("IV10").End(xlToLeft).Column
Dim
Hang_2 As Long
'明细列表页签的行
Dim
ZhHang_2 As Long
'明细列表页签的最后
ZhHang_2 =
Worksheets("jch01-05").Range("A65536").End(xlUp).Row
'---检查MX单据-01页签的第1列,即A列,是否填写完整
For
Hang_1 = 11 To ZhHang_1
If
Worksheets("MX单据-01").Cells(Hang_1, 1).Value = "" Then
MsgBox
"您的<年度预算>输入窗体,第1列(A列)存在 为空的 年度,请填写后,在运行",
vbOKOnly + vbCritical, "提醒"
Exit
Sub
End
If
Next
'---通过循环,将年度预算填写到,明细列表窗口
A01_进度提醒.Show 0
'显示<进度窗体>,这里<有模式>
A01_进度提醒.Label1.Caption
= "正在执行
<自动填写年度预算> ,功能 "
A01_进度提醒.Label2.Caption
= "该操作需要 <较长>时间
,请<耐性>等待.......
"
DoEvents
'DoEvents
语句允许其它事件发生,包括第二次按此按钮。
Sleep 3000
'Wait 3 seconds(等待3秒)
For
Hang_1 = 11 To ZhHang_1 - 1
A01_进度提醒.Label1.Caption =
"正在填写 <"
& Worksheets("MX单据-01").Cells(Hang_1, 3).Value & ">
科目的年度预算 "
A01_进度提醒.Label2.Caption =
"该操作需要 <较长>时间
,请<耐性>等待.......
"
DoEvents
'DoEvents
语句允许其它事件发生,包括第二次按此按钮。
Sleep 3000
'Wait 3 seconds(等待3秒)
For Lie_1 = 4 To ZhLie_1 -
1
For Hang_2 = 11 To
ZhHang_2
If
Worksheets("MX单据-01").Cells(Hang_1, 1).Value =
Worksheets("jch01-05").Cells(Hang_2, 4).Value Then
'年度
If
Worksheets("MX单据-01").Cells(Hang_1, 2).Value =
Worksheets("jch01-05").Cells(Hang_2, 7).Value Then
'科目
If
Worksheets("MX单据-01").Cells(10, Lie_1).Value =
Worksheets("jch01-05").Cells(Hang_2, 31).Value Then
'部门
Worksheets("jch01-05").Cells(Hang_2, 51).Value =
Worksheets("MX单据-01").Cells(Hang_1, Lie_1).Value
'借方年度
Worksheets("jch01-05").Cells(Hang_2, 53).Value =
Worksheets("MX单据-01").Cells(Hang_1, Lie_1).Value
'损益年度
Worksheets("jch01-05").Cells(Hang_2, 55).Value =
Worksheets("MX单据-01").Cells(Hang_1, Lie_1).Value
'预算年度
End If
End If
End If
Next
Next
Next
Unload
A01_进度提醒
MsgBox
"各科目/各部门的 <年度预算>
填写完毕,请检查", vbOKOnly + vbInformation, "提醒"
-------------------------------------
第1:
-------------------------------------
第2:
-------------------------------------
第3:
第4:
-----------------------------------------
第5:
----------------------------------------
完整举例代码如下:
Public Sub 将_MX单据_01_页签的_年度预算数据_写入到_jch01_05_页签中()
End Sub
---------------------------
运行效果如下:
该日志网址为: http://blog.sina.com.cn/s/blog_15b9821340102wqyb.html
如果您有任何问题或建议或疑问,欢迎反馈和交流,您的要求就是我们的方向和动力
更多<数据分析>模板,将陆续发布,敬请期待
更多介绍:http://www.df-bi.com
更多数据分析模型,欢迎扫描"微信公众号"
或者查找微信公众号:"DF数据工厂"或
"data_f"
更多介绍:http://www.df-bi.com
更多数据分析模型,欢迎扫描"微信公众号"
或者查找微信公众号:"DF数据工厂"