Страницы: 1
RSS
VBA цикл удаления строк умной таблицы удаляет только половину строк
 
При исполнении цикла удаления строк умной таблицы по условию удаляется ровно половина строк, соответствующих условию (16 из 32 или 8 из 16 или 4 из 8). Потом выдает ошибку "1004"- Application defined or object defined error. Подозреваю, что при исполнении цикла и последовательном удалении строк с какого-то момента цикл вываливается за пределы таблицы и выдает ошибку. Подскажите, пожалуйста, что упускаю?
Код
Sub DelAllOrders() 
    Set Sh_Orders = ThisWorkbook.Worksheets("Заказы")
    Set OrdersListObj = Sh_Orders.ListObjects("lst_Order")

    Dim m As Integer
    Dim n As Integer
        n = frm_EditOrder.txb_OrderNumber.Value

        For Each OrdersListRow In OrdersListObj.ListRows
                                                                
        If OrdersListRow.Range.Cells(m + 1, 1) = n Then
           OrdersListRow.Range.Delete
        End If
        Next OrdersListRow
                                                           
 End Sub
Изменено: Oleg_BB - 01.04.2020 21:43:50
 
Oleg_BB, файл-пример с данными покажите....
Не бойтесь совершенства. Вам его не достичь.
 
добрый день, удалять надо в обратном порядке
Спасибо
 
Если не сложно, то покажите, пожалуйста, как в коде это может выглядеть.
Заранее благодарю.
 
Oleg_BB, Oleg_BB, скорее всего R Dmitry, имеет ввиду что цикл нужно запустить в обратном порядке:
знаю как обычно это цклом FOr
Код
For  i=последняя_строка to первая_строка step -1

next i
Изменено: Mershik - 01.04.2020 22:40:13
Не бойтесь совершенства. Вам его не достичь.
 
Спасибо Вам и R Dmitry.
Страницы: 1
Наверх