Re: [算表] vba迴圈刪除類似字眼資料?

看板Office作者 (佩蒂吉他)時間8年前 (2018/01/08 14:57), 編輯推噓1(1019)
留言20則, 3人參與, 8年前最新討論串2/4 (看更多)
上次有問類似問題 現在遇到困難就是 遇到超大量資料 數十萬筆 而要刪除的條件很多 速度很慢 不知道有什麼更快速寫法 === ※ 引述《ptguitar (佩蒂吉他)》之銘言: Sub test001() Dim YY, XX, ZZ YY = "*海外分行*" XX = "*機構名稱*" ZZ = "*工作表*" For i = [A65536].End(xlUp).Row To 1 Step -1 If Range("A" & i).Text Like YY Or Range("A" & i).Text Like XX Or Range("A" & i).Text Like ZZ Then Rows(i).Delete End If Next End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.67.78 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1515394655.A.485.html

01/08 15:17, 8年前 , 1F
如以進階篩選range.advancedfilter,非變數yy、xx、zz的資
01/08 15:17, 1F

01/08 15:17, 8年前 , 2F
料到其他工作表或範圍看是否也符合要保留的資料
01/08 15:17, 2F

01/08 16:29, 8年前 , 3F
感謝S大指點~
01/08 16:29, 3F

01/08 18:37, 8年前 , 4F
如以篩選的方式,測試了一下以55萬筆*5欄的資料,來取符合
01/08 18:37, 4F

01/08 18:38, 8年前 , 5F
條件為36萬8千多筆,時間63~76秒
01/08 18:38, 5F

01/08 18:38, 8年前 , 6F

01/08 18:40, 8年前 , 7F
也有要68秒多才完成的 https://i.imgur.com/8LkhaIR.jpg
01/08 18:40, 7F

01/08 18:40, 8年前 , 8F
相同資料以sql來取,時間27~28秒多
01/08 18:40, 8F

01/08 18:40, 8年前 , 9F

01/08 18:40, 8年前 , 10F
最後加上a:j刪除,時間則為30秒多
01/08 18:40, 10F

01/08 18:40, 8年前 , 11F

01/08 18:41, 8年前 , 12F
以上是模擬55萬筆資料的速度(因電腦而異),如果n大所提供
01/08 18:41, 12F

01/08 18:42, 8年前 , 13F
方式效率更好的話,就請忽略上述回文
01/08 18:42, 13F

01/08 18:51, 8年前 , 14F
如可以access來協助取出的話,速度上會更快速
01/08 18:51, 14F

01/08 21:09, 8年前 , 15F
s大,我也蠻好奇效率的差別的,方便給個code比較一下嗎?
01/08 21:09, 15F

01/08 21:54, 8年前 , 16F
進階篩選方面是range.advancedfilter以copy,條件是以g1:i
01/08 21:54, 16F

01/08 21:55, 8年前 , 17F
2,複製位置k1
01/08 21:55, 17F

01/08 21:55, 8年前 , 18F
另一個是以以range copyfromrecordset參數data則是以
01/08 21:55, 18F

01/08 21:56, 8年前 , 19F
database.execute來執行sql字串的部分,字串方面則是以
01/08 21:56, 19F

01/08 21:57, 8年前 , 20F
where not like來當條件,篩選不等於的部分
01/08 21:57, 20F
文章代碼(AID): #1QKnPVI5 (Office)
文章代碼(AID): #1QKnPVI5 (Office)