【发布时间】:2020-09-24 16:21:23
【问题描述】:
我是编码新手,需要关于无法完成的代码的帮助。我怀疑这是由于数据集的大小。我使用简化的数据集测试了代码,它处理得很好。但是,我的实际数据集超过 210,000 行,预计还会增长。
有没有办法加快这个速度?感谢您的帮助
Sub DupValidation()
Dim wb As Workbook
Dim ws1 As Worksheet
Dim i As Long
Dim lastrow As Long
Dim lastrow2 As Long
Set wb = ActiveWorkbook
Set ws1 = wb.Worksheets("Tickets")
lastrow = ws1.Cells(Rows.Count, 1).End(xlUp).Row
ws1.Range("g2:g" & lastrow).ClearContents
i = 2
Do While i <= lastrow
If Application.CountIf(ws1.Range(ws1.Cells(2, 2), ws1.Cells(lastrow, 2)), ws1.Cells(i, 2)) > 1 Then
ws1.Cells(i, 7).Value = True
End If
i = i + 1
Loop
End Sub
【问题讨论】:
-
看看在内存中使用
Variant数组可能会这样做。 -
嗨,欢迎来到 SO,这可能是Code Review 的一个更适合的问题
-
大本。我是一个完整的新手。你能解释一下你建议的 Variant 数组吗?谢谢
标签: vba optimization duplicates