在我的电子表格中,我有东西接近2000行。我需要搜索这些行,查找特定的日期(当前日期),然后删除相应的范围。但它运行非常缓慢。关于如何让它运行更快的任何建议?我在想,也许我可以根据日期组织我的行(当前日期将始终是最老的,因此位于顶部),然后使用范围(XX:XX“)删除所有行。但我不知道如何找到其中最后一行的currentdate是因为它是要被不断地变化。查找特定值,删除对应范围。宏痛苦地慢
Sub ChangeandDelete
MudaDataLCA
DeleteDateLCA
End Sub
Sub MudaDataLCA()
'===Muda Data Atual ABERTURA===
Dim Affected As Workbook
Dim Dados As Worksheet
Dim LastRow As Long
Set Affected = Workbooks("Controle de Lastro LCA_FEC - Test")
Set Dados = Affected.Sheets("DADOS")
Dados.Activate
Dim CurrentDate As Date
CurrentDate = Range("AH2") + 1
Range("AH2") = CurrentDate
End Sub
Sub DeleteDateLCA()
Dim Affected As Workbook
Dim Dados As Worksheet
Dim LastRow As Long
Set Affected = Workbooks("Controle de Lastro LCA_FEC - Test")
Set Dados = Affected.Sheets("DADOS")
Dados.Activate
LastRow = Dados.Cells(Rows.Count, "P").End(xlUp).Row
For i = 5 To LastRow
Do While Range("S" & i).Value = Range("AH2")
Range("P" & i & ":AG" & i).Delete
Loop
Next i
End Sub
过滤'CurrentDate',检查是否有数据集并删除所有'.SpecialCells(xlCellTypeVisible)'。关闭'.EnableEvents'和'.ScreenUpdating'可以进一步加快速度。 – Jeeped 2015-02-06 14:08:37
您是否试图从P:AG(向上移动)有选择地删除行或者是否要删除整行? – Jeeped 2015-02-06 14:48:48