셀의 숫자 값이있는 행을 삭제하고 싶습니다. 다음 코드를 실행하면 IsEmpty 및 IsNumeric() 함수를 올바르게 평가하고 행을 삭제합니다. 그러나 그것은 어떤 이유에서 멈추고 3 번 시도한 후에 끝날 것입니다. 참고 : Cell.Value 및 Cell.Value2를 시도했습니다. 당신이 그 범위에 수식이없는 경우셀의 숫자 값이있는 행을 삭제하는 VBA 루프
For Each Cell In Range("H1:H600")
If Not IsEmpty(Cell) Then
If IsNumeric(Cell.Value) Then
Cell.EntireRow.Delete
End If
End If
Next
아래에서 위로 이동을 삭제, 당신은 훨씬 더 일관성있는 결과를 얻을 수 있습니다. – sous2817
그 이유는 행을 삭제할 때 다른 행이 충돌하기 때문입니다. 1을 삭제하면 i를 'i = i-1'로 줄입니다. –
역순으로 반복해야합니다. 그렇지 않으면 줄을 건너 뜁니다. 세 가지 옵션을 보려면 여기를 참조하십시오. http://stackoverflow.com/questions/33744149/code-in-vba-loops-and-never-ends-how-to-fix-this –