열 BD의 값이 0이면 행을 삭제하는 루프를 만들었습니다. 루프는 최대 30 분이 소요될 수 있습니다. 필자는 자동 필터를 사용하거나 기능을 신속하게 처리 할 수있는 변형 배열을 만드는 것이 좋습니다. 아래 코드에 대한 더 나은 솔루션을 제안 할 수 있다면 알려주십시오.루프를 개선하여 Excel에서 행을 빠르게 삭제
Const colBD As Long = 56
Dim IRow As Long
Dim LstRow As Long
LstRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
IRow = 3
'loop to delete rows with zero in colBD
Do While IRow <= LstRow
If Cells(IRow, colBD) = 0 Then
Cells(IRow, 1).EntireRow.Delete
LstRow = LstRow - 1 ' one less row
Else
IRow = IRow + 1 ' move to next row
End If
Loop
가장 빠른 방법은 먼저 모든 행을 선택'Range.Delete'를 사용하여 한 번에 삭제하는 것입니다. 대부분의 시간이 걸리는 삭제 작업입니다. –
John Wu의 답변에 추가하면 범위가 인접하지 않을 수 있으므로 인접하지 않은 범위를 만들어야 할 수도 있습니다. – danieltakeshi
루프 앞에서'Application.ScreenUpdating = False'를 사용하십시오 (그리고 나중에 다시 켜는 것을 잊지 마십시오.) – Tragamor