2013-03-15 125 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事件中有兩個循環僅用於演示目的。但是您希望代碼中的循環驅動進度條的值。沒有看到你的代碼很難更具體。