[算表] VBA 大量資料處理

看板Office作者 (X-Tracker 法克祺)時間8年前 (2017/09/15 10:00), 編輯推噓2(2012)
留言14則, 2人參與, 最新討論串1/1
軟體: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萬筆 每次都跑到當掉,請問這有解嗎?? 除了把資料導入資料庫以外 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.143.229 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1505440814.A.8FB.html

09/15 10:52, , 1F
想法為內層判斷如果是儲存格符合某值就exit do來看,以
09/15 10:52, 1F

09/15 10:52, , 2F
range.find或工作表函數match來回傳儲存格或列號
09/15 10:52, 2F

09/15 10:52, , 3F
該儲存格以上的範圍為原po要執行其他動作
09/15 10:52, 3F

09/15 10:52, , 4F
就應可將do loop until len(worksheets("工作表2")...
09/15 10:52, 4F

09/15 10:52, , 5F
取消掉
09/15 10:52, 5F

09/15 10:52, , 6F
外層判斷如果是儲存格符合某值而執行接下來動作的話
09/15 10:52, 6F

09/15 10:53, , 7F
迴圈於autofilter可見儲存格range.specialcells集合
09/15 10:53, 7F

09/15 10:53, , 8F
、range.find或工作表函數match(需調整範圍)
09/15 10:53, 8F

09/15 10:55, , 9F
來針對於符合的儲存格執行
09/15 10:55, 9F

09/16 12:39, , 10F
在內層迴圈加入 docents 就能減少沒回應問題,再來就是
09/16 12:39, 10F

09/16 12:39, , 11F
減少使用cells比對cells,就能稍微提高速度
09/16 12:39, 11F

09/16 13:10, , 12F
docents是什麼?google excel vba docents並沒看到相關的
09/16 13:10, 12F

09/16 13:12, , 13F
是要提doevents這個函數嗎
09/16 13:12, 13F

09/16 21:45, , 14F
對啦 doevents 字打錯了,感謝糾正
09/16 21:45, 14F
文章代碼(AID): #1PkpGkZx (Office)
文章代碼(AID): #1PkpGkZx (Office)