excel中的进度条,调用另一个宏

时间:2017-10-13 08:44:00

标签: excel-vba vba excel

我有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

我的问题是,当进度条的宏运行时,如何调用主进程宏?我听说一次只能运行一个宏。

1 个答案:

答案 0 :(得分:0)

简短的回答,你不是。你运行code_real - 那个例程然后调用进度。 简单的类比是,您只能运行一个代码线程,但如果在代码中指示,该线程可以将其注意力从一个子节点转移到另一个子节点。因此,该过程向下流动code_real,直到它符合

 progress pctCompl

然后转移到进度,直到它到达End Sub正在进行,然后它返回到下一行的real_comp(下一个)

如果您在vb编辑器中使用F8,您可以逐行观看进度并按照主题进行操作。