如何在如何在 ExcelExcel VBAVBA 中设置进度条中设置进度条Jack1.进入 Visual Basic 编辑器,选择 插入-用户窗体,即生成一个userform1,从右下方的属性栏中(右键单击可以选择弹出属性栏),将caption 设置为“正在进行模拟运算……”(这是一个标题,你自己可以随便取名字),width 设置为 350,Height 设置为 502.紧接着需要插入四个 Label 标签(即控件工具栏中的大写字母 A,如下图1)3.Label1 放置在 UserForm1 的中间偏右一点,caption 设置为空值,BackColor 设置为白色,SpecialEffect 设置为 2-fmspecialeffectsunken,Width=285,Height=154.Label2 放置在 Label1 的外部左边,紧贴着 Label1, caption 设置为“进度”,颜色你自己随便选择(Forecolor 中设置)5.Label3 放置在 Label1 的内部,紧贴着其左边,caption 设置为空,BackColor 设置为蓝色,Height=15,Width=206.Label4 的 caption 设置为 0%,ForeColor 设置为“红色”(当然你可以随便设置你喜欢的颜色),BackStyle 设置为 0-fnbackstyletransparent(也就是把属性设置为透明的),Height=15,Width=20。
参见图 27.然后在选择 插入-模块,在这里面编写一个宏就 ok 了实际上就是通过一种运算去控制 Label3 的宽度,进而显示其进度宏里面的计算只是一个例子,你可以根据你所跑循环的数量去设置计算进度的分母图图 1 1图图 2 2需要编制的宏:Public Sub Macro_1()Total=100000With UserForm1.Show 0For i = 1 To total.Label3.Width = Int(i / total * 285).Label4.Caption = CStr(Int(i / total * 100)) + “%“DoEventsNext iEnd WithEnd Sub注意,doevents 必须要存在,否则进度条就看不清楚了还有至于具体跑多少循环,需要根据你自己的程序来看,100000 只是一个例子你只需要将你的程序嵌入到你自己的循环下面就可以显示你自己的进度条了如果想让进度条自动关闭就在 end with 后面增加 userform1.hide。