|
回复 1591楼 ggsmart 的帖子
请老师看看我的代码如何才能提速,谢谢!
Sub Macro1() '....如果知道单元格的值,如何确定它所在的地址?比如如何确定“姓名”在哪一行哪一列,如何表示
Application.ScreenUpdating = False
Application.EnableEvents = False
Columns("D:D").Insert Shift:=xlToRight
Range("D1").FormulaR1C1 = "检查次数"
Dim i As Long
For i = 2 To Sheets(1).[a65536].End(xlUp).Row Step 1
Cells(i, 4) = Application.WorksheetFunction.CountIf(Range("$c$1:c" & i), Range("c" & i)) '....用这个方法好慢,对原始数据足足运行了近半小时,想求一个用数组的方法。
With Cells(i, 4)
If .Value > 1 And Cells(i, 5) <> Cells(i - 1, 5).Value Then
.Interior.ColorIndex = 3
Else: .Interior.ColorIndex = xlNone
End If
End With'......或换成 Cells(i, 4).Interior.ColorIndex = IIf(Cells(i, 4).Value > 1 And Cells(i, 5) <> Cells(i - 1, 5).Value, 3, xlNone)
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub |
|