Re: [算表] vba循环删除类似字眼资料?

楼主: diskk (oi)   2018-02-26 21:49:19
建议你把range改成cells
因为你用range("A" & i)
程式每一次要帮你合并文字,还要再转成绝对座标
这会浪费很多时间
我写了一小段测试程式
你可以比较看看时间差异
Sub TestPerformance()
Dim st As Date
Dim et As Date
Dim i As Long
st = Now()
For i = 1 To 1000000
Range("A" & i) = i
Next
et = Now()
Dim it1 As Integer
it1 = DateDiff("s", st, et)
st = Now()
For i = 1 To 1000000
Cells(i, 1) = i
Next
et = Now()
Dim it2 As Integer
it2 = DateDiff("s", st, et)
MsgBox "Range = " & it1 & vbCrLf & "Cells = " & it2
End Sub
※ 引述《ptguitar (佩蒂吉他)》之铭言:
: 上次有问类似问题
: 现在遇到困难就是
: 遇到超大量资料 数十万笔
: 而要删除的条件很多
: 速度很慢
: 不知道有什么更快速写法
: ===
: ※ 引述《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

Links booklink

Contact Us: admin [ a t ] ucptt.com