заблаговременно за то, что нашли время, чтобы помочь. Я построил цикл Do While в VBA, который почему-то ломается, когда j = 1. У меня в ячейках C3: C7 эти значения: 13,14,14,13,14.Попытка исправить цикл While While в VBA
Вот короткий сценарий:
Dim i, j, n As Integer
Dim List(0) As Integer
i = o
j = 0
n = 0
Do While Cells(i + 3, 3) <> ""
If Cells(i + 3, 3) > 13 Then
List(j) = i + 3
j = j + 1
Cells(i + 3, 4) = "Noted"
i = i + 1
ElseIf Cells(i + 3, 3) = 13 Then
Cells(i + 3, 4) = "Skipped"
i = i + 1
Else
i = i + 1
End If
Loop
For n = j To n = 0
Rows(List(n)).Delete
Next
Еще раз спасибо!
Вы объявляете List как массив с одним элементом, начинающимся с нуля. Как только j = 1, он превышает верхнюю границу. – SJR
Это не ноль 'i = o' (строка 4) – phil652
Не ответ, но' Dim i, j, n As Integer' фактически объявляет 'i As Variant, j As Variant, n As Integer'. Если вы хотите, чтобы все ваши переменные были объявлены как «Integer», вам нужно сделать это следующим образом: 'Dim i As Integer, j As Integer, n As Integer' –