作者:乔山办公网日期:
返回目录:excel表格制作
vba 本身有进度条呀ProgressBar,ActiveX控件,需要添加。不好用,其实可以用两个label做,一个在底下不动,另一个移动或将长度不断缩短
先要有进度条的控件,百代码其实不复杂的。在窗体度中,找这个控件microsoft progressbar加载以后,窗体代码内Private Sub UserForm_Click()
For i = 1 To 100000
Me.ProgressBar1.Value = i
Next i
End SubPrivate Sub UserForm_Initialize()
Me.ProgressBar1.Min = 0
Me.ProgressBar1.Max = 100000
End Sub
然后试试吧这只是一个例子,容具体到你代码中,只要领会上面的意思你就会了。
你可以用你的循环次数来做进度条抄,在现有程袭序加入进度条显示程序就zd可以了,
你看下
参考资料:http://jingyan.baidu.com/article/425e69e69f00fbbe15fc161a.html
vba中没有专门的进度zhidao条控件,但是可以用其他方式实现。
首先用一个Frame控件(frameProgress)和一个label控件(lblProgress)形成进度条的形状。frameProgress控件用来形成边框,其caption属性用来显示百分比进度;lblProgress控件背景色选内择一个较深的颜色,用其width属性控制进度。
先写一个过程用于更新显示进度条:
Private Sub UpdateProgress(ByVal percent As Double)
frameProgress.Caption = Format(percent, "0%")
lblProgress.Width = percent * (frameProgress.Width)
'Me.Repaint
DoEvents
End Sub
参数percent在0至1之间,调用前先计算。
相关详细的资料和例子可以参阅《中文容版Excel 2007高级VBA编程宝典》一书。