Я хочу удалить любую строку с числовым значением в ячейке. Когда я запускаю следующий код, он правильно оценивает функции IsEmpty и IsNumeric() и удаляет строку. Однако он останавливается по какой-то причине и завершится после 3 попыток. Примечание. Я пробовал Cell.Value и Cell.Value2.Vba Loop для удаления строк с числовым значением в ячейке
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 –