我有2个宏。一个用于进度条,另一个用于主进程。 主要过程包括4个子过程。
我想要做的是每个流程的进度条增加25%。
我创建了进度条宏,如下所示:
Sub code() ' ' Macro1 Macro ' ' Keyboard Shortcut: Ctrl+p 'Sub code()
UserForm1.Show
End Sub
Sub progress(pctCompl As Single)
UserForm1.Text.Caption = pctCompl * 25 & "% Completed"
UserForm1.Bar.Width = pctCompl * 50
DoEvents
End Sub
Sub code_real()
Dim i As Integer, j As Integer, pctCompl As Single
Sheet1.Cells.Clear
For i = 1 To 4
For j = 1 To 10000
Cells(i, 1).Value = j
Next j
pctCompl = i
progress pctCompl
Next i
End Sub
我的问题是,当进度条的宏运行时,如何调用主进程宏?我听说一次只能运行一个宏。
答案 0 :(得分:0)
简短的回答,你不是。你运行code_real - 那个例程然后调用进度。 简单的类比是,您只能运行一个代码线程,但如果在代码中指示,该线程可以将其注意力从一个子节点转移到另一个子节点。因此,该过程向下流动code_real,直到它符合
行 progress pctCompl
然后转移到进度,直到它到达End Sub正在进行,然后它返回到下一行的real_comp(下一个)
如果您在vb编辑器中使用F8,您可以逐行观看进度并按照主题进行操作。