2013-03-15 126 views
0

我试图按照简单的VBA progressbar教程,但它不工作应该如何。Excel VBA progressbar不工作

这是tutorial link

我不明白第4步& 5,也是进步的代码并没有真正意义与进度条的目标,还是我错了?

我的目标是在我的代码中设置一些引用,在栏中添加进度。 - 如何添加这些引用?以及如何使进度栏看到它。

在此先感谢!

+0

这两个网址可能对您有用:http://stackoverflow.com/questions/11511500/creating-a-progress-bar-in-excel-vba和http://www.learnexcelmacro.com/2012/02/progressbar-in-excel-vba/ – CustomX 2013-03-15 10:37:14

+0

好的,谢谢你的信息,我读了它 – user2156096 2013-03-15 10:48:23

+0

因此,我阅读文章,但我想让我现在发现的工作进度条的教程。我更喜欢它,因为它有2个酒吧,正是我需要的。 – user2156096 2013-03-15 11:11:43

回答

0

在参考Microsoft Windows公共控件本教程是在运行时的AddReference过程中添加。所以你必须让它运行(执行这个过程),以便添加引用。

然后添加用户表单并转到VIEW => TOOLBOX。右键单击工具框并选择“其他控件”。在可用控件列表中搜索Microsoft ProgressBar控件并选中该复选框。

现在工具栏上会出现进度条图标,您可以将其拖动到用户窗体中。

+0

是的,Microsoft的进度条控件已经添加到我的表单中。我没有任何困难地完成了本教程的其他步骤。但是现在呢?进度条工作,但不是与我的代码,它打开,进展,然后我的代码开始。iT应该与我的代码同时进行并继续进行。我只是不知道我需要在我的代码之间添加什么行来添加进度。 – user2156096 2013-03-15 12:18:13

+0

啊哈,我明白了。代码设置进度条属性Min = 0和Max = 100.这是进度条用于Value属性的范围。然后在你的代码的某个地方(你想要测量可视化)只需设置值,进度条上就会显示进度。 – dee 2013-03-15 13:51:15

1

默认情况下MS进度栏不可用。通过添加对公共控件的引用,可以使进度栏可用。这是第4步和第5步所做的。

首先,删除PROGRESS部分中的代码,从For M ...开始并以Unload Me结束。你希望这部分代码在你的代码中运行,这是一个愚蠢的教程,让它在这个事件中运行。所以删除它。

接下来,userform具有ShowModal属性。该属性必须设置为False。显示非模式意味着您的代码将在用户窗体可见时继续运行。

假设你的代码中有两个循环。在这些循环中,您需要设置进度条的值。在循环之前,调用ShowForm过程。在循环内部,设置值如

Userform1.Progress1 = M 
Userform1.Progress2 = N 

循环后,杀死userform。

Unload Userform1 

该教程在Activate事件中有两个循环仅用于演示目的。但是您希望代码中的循环驱动进度条的值。没有看到你的代码很难更具体。