0
我想要一些提示来更快地运行此宏。我有一个很长的数据范围,它需要很长的时间。你们有没有想法加快速度?如何加快比较宏?
Sub GanadoAcumulado()
With ActiveSheet
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
End With
Tganhado = 0: Tjogado = 0
For i = 1 To LastRow
If Range("R1").Offset(i, 0).Value = "" Then
a = Range("A1").Offset(i, 0).Value
b = Range("B1").Offset(i, 0).Value
c = Range("C1").Offset(i, 0).Value
For j = 1 To LastRow
If Range("A1").Offset(j, 0).Value = a And _
Range("B1").Offset(j, 0).Value = b And _
Range("C1").Offset(j, 0).Value = c Then
Tjogado = Tjogado + Range("J1").Offset(j, 0).Value
Tganhado = Tganhado + Range("P1").Offset(j, 0).Value
Range("R1").Offset(j, 0).Value = Tganhado
Range("S1").Offset(j, 0).Value = Tjogado
End If
Next j
End If
Tganhado = 0
Tjogado = 0
Next i
End Sub
您可以通过不循环大幅提高性能通过范围内的单元格,但实际上将它们存储在一个数组中,然后循环该数组。 – 2013-04-26 21:34:52
这通常需要多长时间,您经历了多少行? – glh 2013-04-26 21:35:58
'application.screenupdating = false'和'application.calculation = xlCalculateManual'在开始时会有所帮助。 – glh 2013-04-26 21:38:45