У меня проблема с моим макросом. Он удаляет строку, удовлетворяющую определенным критериям. Но когда несколько последовательных строк заполняют эти критерии, возникает ошибка. Когда строка удаляется, остальные строки сдвигаются вверх, поэтому если строка (2: 2) и строка (3: 3) заполняют критерии, тогда строка (2: 2) удаляется, а строка (3: 3) сдвигается вверх , поэтому он становится строкой (2: 2), а цикл For переходит в другую строку (третью). В результате строка, которая раньше была строкой (3: 3), а теперь - строка (2: 2), опущена и не удалена.
Чтобы справиться с этой темой, я думаю, что достаточно перевернуть цикл For, чтобы она не переходила снизу, а снизу вверх. Te resulat будет двойной проверкой некоторых строк, но никакие строки не будут опущены.
Оценка: Я не знаю, как создать цикл For. Я попытался изменить «For x = startrow To endrow» на «For x = endrow To startrow», но это не помогло.
Вот код:Как отменить цикл for
Sub Repurchase_upload()
Dim Worksheet As Worksheets
startrow = Worksheets("GUTS").Cells(10, 1)
endrow = Worksheets("GUTS").Cells(11, 1)
For x = startrow To endrow 'I have tried to change this line into: 'For x = endrow To startrow', but it didn' help
If Cells(x, "A").Value <> "AA" And Cells(x, "A").Value <> "AB" And Cells(x, "A").Value <> "AC" And Cells(x, "A").Value <> "AD" And Cells(x, "A").Value <> "AE" And Cells(x, "A").Value <> "AH" And Cells(x, "A").Value <> "AI" And Cells(x, "A").Value <> "AF" And Cells(x, "A").Value <> "AG" Then
Cells(x, "A").EntireRow.Delete
End If
Next
End Sub
Спасибо всем вам много заранее,
с наилучшими пожеланиями,
Артур Рутковский
Спасибо большое за помощь! Это оно. :) –
Рад помочь, Артур. – dendarii