我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持我,也为自己加油!
前面我们分享过如何做进度条:
《Excel进度条启示:专注与持续积累定会让人生出彩!》
此种进度条是独立的进度条,有时我们更需要集成式的进度条,及进度条和其它控件共处在一个窗体中。我们先来看个例子:上面案例中,点击运行后会弹出一个输入随机数的对话框,可以在其中输入需要输入随机数的区域(也可以直接在工作表中选取区域),随机数的范围,点击确认后,在对话框的底部会有进度条显示完成进度,完成后点击取消可以关闭对话框。这样的进度条是怎么实现的呢?步骤如下:
在VBE这种先插入窗体及各个控件并做好布局,如下:
首先,写确认按钮的Click事件代码:
Public t As DoublePrivate Sub CommandButton1_Click()Dim r$, mn&, mx&, n&, rg As Range, rng As Ranger = RefEdit1.Valuemn = TextBox1.Textmx = TextBox2.TextSet rg = Range(r)If mx > mn Then For Each rng In rg rng.Value = Int(Rnd * mx + mn) n = n + 1 t = n / rg.CountLarge UserForm1.更新进度条 t NextEnd IfEnd Sub
先获取控件RefEdit1、 TextBox1、 TextBox2中的值,根据值确定选区,随机数的最小值、最大值,然后写在区域中写入随机数的代码,并求出完成率t,运行更新进度条的提示。
更新进度条的代码如下(写在窗体代码窗口里):
Public Sub 更新进度条(t) '显示完成进度条 Label4.Visible = True Frame1.Visible = True With Me .Frame1.Caption = Format(t, "0%") .Label5.Width = t * (.Frame1.Width - 10) .Repaint End WithEnd Sub
接着写窗体初始化代码,初始化时,RefEdit1、TextBox1、 TextBox2的值清空,隐藏进度条,代码如下:
'初始化窗体,清空选区,最大值最小值,隐藏进度条’Private Sub UserForm_Initialize()RefEdit1.Value = ""TextBox1.Text = ""TextBox2.Value = ""Label4.Visible = FalseLabel4.Width = 0Frame1.Visible = FalseEnd Sub
取消按钮的Click代码如下:
Private Sub CommandButton2_Click()Unload MeEnd Sub
工作簿中命令按钮关联代码如下:'运行窗体Sub 运行()UserForm1.ShowEnd Sub
本节的分享就到这里,祝大家每天都有进步。公众号后台资源库可获取更多资源:
1
在线课堂在逐渐完善中,欢迎您的光临!
点击下方“”即可进入云课堂学习!