標題:
進度條使用問題?(已解決)
[打印本頁]
作者:
vackbin
時間:
2011-5-9 06:01
標題:
進度條使用問題?(已解決)
本帖最後由 vackbin 於 2011-5-11 11:58 編輯
Dear 大大們
小弟想製作一個進度條 , 旦發現我的動作是"取代"...似乎無法計數...
而且小弟表格共7千多個不規則欄位....不知如何算出總量阿@@
詳如附件...煩請大大幫幫手阿!!
[attach]6071[/attach]
作者:
GBKEE
時間:
2011-5-9 06:45
本帖最後由 GBKEE 於 2011-5-9 06:58 編輯
回復
1#
vackbin
Sub test1()
UserForm1.Show
End Sub
複製代碼
Private Sub UserForm_Activate()
Dim I&
ProgressBar1.Max = ActiveSheet.UsedRange.Cells.Count
For I = 1 To ActiveSheet.UsedRange.Cells.Count
DoEvents
ProgressBar1 = I
ActiveSheet.UsedRange.Cells(I).Replace What:="C", Replacement:="A" ', LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next
MsgBox "更新完成!", vbInformation
Unload Me
End Sub
複製代碼
作者:
vackbin
時間:
2011-5-9 10:48
GBKEE 於 2011-5-9 06:58 編輯 !!!!!
G大真是早起阿!!
感謝大大這麼快就回應~~~小弟馬上試試!!
作者:
vackbin
時間:
2011-5-9 11:31
Dear G大~~
小弟將部分錯誤刪除後,發現進度表並不會動~~
而且偵錯時發現 Unload Me的Me是不正確的關鍵字??
是我使用excel 2003版的關係嗎?
[attach]6077[/attach]
作者:
GBKEE
時間:
2011-5-9 14:09
回復
4#
vackbin
老弟: 這程式碼是要放在UserForm表單的程式碼
Private Sub UserForm_Activate()
Dim I&
ProgressBar1.Max = ActiveSheet.UsedRange.Cells.Count
For I = 1 To ActiveSheet.UsedRange.Cells.Count
DoEvents
ProgressBar1 = I
ActiveSheet.UsedRange.Cells(I).Replace What:="1", Replacement:="A", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next
MsgBox "更新完成!", vbInformation
Unload Me
End Sub
複製代碼
作者:
chin15
時間:
2011-5-9 19:02
用進度條會拖慢系統的
Replace方法本來瞬間就完成的
加上進度條必然慢下來了
作者:
vackbin
時間:
2011-5-11 11:57
Dear G大~~
測試後正確!!!!感謝您的指導~~~
TO chin15 ~~
因為工作上常需要取代這個動作~雖設計巨集讓同事使用~~
但是時間蠻久的常發生同事以為當機強制關閉造成錯誤~~
所以想做個進度條改善阿~~~
我只是小助手盡量幫幫他們的忙阿~~也讓我不要老做些除錯的事
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)