计算进度条程序中的潜艇数量

时间:2019-04-12 12:46:59

标签: excel vba progress-bar procedure

我有我的模板,该模板在更新模板时会更改excel屏幕左下角的状态栏。我的大多数同事可能不会注意到这一点。因此,为了使他们了解宏执行期间的进度,我想创建一个进度条。

因此,我看了一些示例,现在设计了一个进度条,该进度条可以很好地适用于所提供的代码。 对于我的特定需求,我希望每次调用新的子项时都更新进度条。我知道在步骤(6)中执行的固定数量的子程序,并且我想让VBA检查正在执行的子程序数。子1完成后,进度为1/6 = 16,67%,子2之后为33%,依此类推。

我已经搜索了计算代码中有多少个子对象的vba方法,并确定了该过程在过程中的位置。

我可以拥有想要的东西吗?

我在执行过程中调用了这些子程序:

Call datawissen
Call dataplaatsen
Call kolomtitels
Call toevoegen
Call maaktabel
Call refreshpivot

1 个答案:

答案 0 :(得分:1)

以编程方式计算一段代码中Subs的数量并非不可能,这可能超出了您的需求。大多数人可能会这样做:

total_no = 6
cnt = 0

refresh_bar cnt / total_no

Call datawissen
cnt = cnt + 1
refresh_bar cnt / total_no

Call dataplaatsen
cnt = cnt + 1
refresh_bar cnt / total_no

Call kolomtitels
cnt = cnt + 1
refresh_bar cnt / total_no

Call toevoegen
cnt = cnt + 1
refresh_bar cnt / total_no

Call maaktabel
cnt = cnt + 1
refresh_bar cnt / total_no

Call refreshpivot
cnt = cnt + 1
refresh_bar cnt / total_no

refresh_bar是一个Sub,它使用提供的完成百分比作为参数重新绘制进度条。