[算表] VBA 大量資料處理

作者: skating (X-Tracker 法克祺)   2017-09-15 10:00:11
軟體:Excel
版本:2010
i=2
Do
If XXX then
J=2
Do
IF XXX then
Exit Do
End IF
J=J+1
Loop Until len(Worksheets("工作表2").Cells(J,1).Value)=0
End If
I=I+1
Loop Until len(Worksheets("工作表1").Cells(I,1).Value)=0
工作表1,2皆有近2萬筆
每次都跑到當掉,請問這有解嗎??
除了把資料導入資料庫以外
作者: soyoso (我是耀宗)   2017-09-15 10:52:00
想法為內層判斷如果是儲存格符合某值就exit do來看,以range.find或工作表函數match來回傳儲存格或列號該儲存格以上的範圍為原po要執行其他動作就應可將do loop until len(worksheets("工作表2")...取消掉外層判斷如果是儲存格符合某值而執行接下來動作的話迴圈於autofilter可見儲存格range.specialcells集合、range.find或工作表函數match(需調整範圍)來針對於符合的儲存格執行
作者: lowcat (貓逃)   2017-09-16 12:39:00
在內層迴圈加入 docents 就能減少沒回應問題,再來就是減少使用cells比對cells,就能稍微提高速度
作者: soyoso (我是耀宗)   2017-09-16 13:10:00
docents是什麼?google excel vba docents並沒看到相關的是要提doevents這個函數嗎
作者: lowcat (貓逃)   2017-09-16 21:45:00
對啦 doevents 字打錯了,感謝糾正

Links booklink

Contact Us: admin [ a t ] ucptt.com