Excel VBA进度条
我想在宏进入一个大循环时弹出一个进度条,这样用户就知道一切都很好,程序只是需要一些时间来完成一项任务 我找到了教程,然后一步一步,一切看起来都很好(我成功地实现了示例的进度条,没有任何问题) 当然,现在我想把进度条的代码改成我的代码。当我这样做时,问题是: a) 在Excel VBA进度条,excel,progress-bar,vba,Excel,Progress Bar,Vba,我想在宏进入一个大循环时弹出一个进度条,这样用户就知道一切都很好,程序只是需要一些时间来完成一项任务 我找到了教程,然后一步一步,一切看起来都很好(我成功地实现了示例的进度条,没有任何问题) 当然,现在我想把进度条的代码改成我的代码。当我这样做时,问题是: a) 在UserForm1.Hide之后,进度条没有消失(这不是上面的教程,我只是想这是我必须调用的来关闭进度条,但它不起作用) b) 当我手动关闭进度条时,当它达到100%时,宏需要大约10秒才能继续运行代码 有什么建议吗 谢谢, Sub
UserForm1.Hide
之后,进度条没有消失(这不是上面的教程,我只是想这是我必须调用的来关闭进度条,但它不起作用)
b) 当我手动关闭进度条时,当它达到100%时,宏需要大约10秒才能继续运行代码
有什么建议吗
谢谢,
Sub myCode()
'... long code here
Dim pctCompl As Single
UserForm1.Show
Dim base As Double
For base = 2 To numberOfLines
'...some code here too
pctCompl = (numberOfLines - 2) / numberOfLines
progress pctCompl
Next base
' Not working.
UserForm1.Hide
'Taking too long to open after the progress bar is closed.
Workbooks.Open Filename:="myPath...", UpdateLinks:=0, ReadOnly:=True
'Some code here too...
End Sub
Sub progress(pctCompl As Single)
UserForm1.Text.Caption = pctCompl & "% Completed"
UserForm1.Bar.Width = pctCompl * 2
DoEvents
End Sub
这是一个示例:
看看这个。尝试使用我的代码行重写您的cody。这是一个示例:
看看这个。尝试使用“我的代码行”重写您的cody。将
UserForm1.Show
更改为UserForm1.Show false
,它允许您的表单同时编码。(否则,代码仅在关闭Userform后继续。谢谢,mate,这有助于将UserForm1.Show
更改为UserForm1.Show false
,它允许在表单中同时进行代码。(否则,代码仅在关闭Userform后继续。谢谢,mate,这帮助很大。)