窗体中的进度条控件
工具箱默认情况下没有进度条控件,需在“工具”->“附加控件”里面添加Microsoft ProgressBar Control,version 6.0,即可在工具箱里面看到进度条控件。
添加进度条控件
创建一个窗体UserForm1,添加一个进度条ProgressBar1和一个标签Label1,即可可以完成VBA进度条设计。
eg:经常在一个循环运算中用到进度条,此时可以将循环运算在窗体UserForm1里面进行,即可将循环变量嵌入到ProgressBar1里面进行精准进度条设计。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Private Sub UserForm_Activate()Dim n As Integer n = 3000 ProgressBar1.Min = 1 ProgressBar1.Max = n Label1.Caption = "0%" For n = 1 To 3000 ProgressBar1.Value = Str(n) Label1.Caption = Round(n / ProgressBar1.Max, 2 ) * 100 & "%" DoEvents Next nEnd Sub ``` <img src="https://img-blog.csdn.net/20160323194829476?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > # 在 Excel 下边显示进度条 - vba处理execl数据时,如果数据量比较大时,execl会执行时间较长,并且不容易看出来已执行的进度。 应用execl的进度条,让执行进度更加一目了然。 <img src="https://img-blog.csdnimg.cn/0a4482aa87054ba7a8185e3003e937de.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6I-y5pavRmFjZQ==,size_12,color_FFFFFF,t_70,g_se,x_16" > **进度条代码:** ```vb Function GetProgress(curValue, maxValue)Dim i As Single , j As Integer , s As String i = maxValue / 20 j = curValue / i For m = 1 To j s = s & "■" Next mFor n = 1 To 20 - j s = s & "□" Next nGetProgress = s & FormatNumber(curValue / maxValue * 100 , 2 ) & "%" End Function
调用代码
1 Application.StatusBar = GetProgress(i, maxRow)
参数可以根据业务情况,自行传入。
相关链接
VBA进度条
VBA 处理数据的进度条实现
=================我是分割线=================
欢迎到公众号来唠嗑: