powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Автоматическое удаление строк
5 сообщений из 5, страница 1 из 1
Автоматическое удаление строк
    #36837791
Elizar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый.

Помогите написать код по которому автоматически будет удаляться вся строка со сдвигом вверх, в первом столбце которой(А1 например) будет значение 0. Прошу прощения, если вопрос покажется глупым, просто в VBA я ни чего не смыслю.

Заранее спасибо.
...
Рейтинг: 0 / 0
Автоматическое удаление строк
    #36838100
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub abc()
    For i =  1  To  1000 
        If Cells(i,  1 ).Value = "0" Then
            Rows(i).Delete Shift:=xlUp
        End If
    Next
End Sub
...
Рейтинг: 0 / 0
Автоматическое удаление строк
    #36839267
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного неверно...
При таком коде будут пропущены последовательные строки с "0". Также, как и при использовании for each rw in .UsedRange.Rows

Надо просто добавить уменьшение счетчика для повторной проверки той же строки:
Код: plaintext
1.
2.
3.
4.
5.
    For i =  1  To  30 
        If Cells(i,  1 ).Value = "0" Then
            Rows(i).Delete Shift:=xlUp
            i = i -  1 
        End If
    Next

Ну и можно сделать цикл не со счетчиком, а по условию:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    i =  30 
    Do While i >  0 
        If Cells(i,  1 ).Value = "0" Then
            Rows(i).Delete Shift:=xlUp
        Else
            i = i -  1 
        End If
    Loop
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
   i =  30 
    Do
        If Cells(i,  1 ).Value = "0" Then
            Rows(i).Delete Shift:=xlUp
        Else
            i = i -  1 
        End If
    Loop Until i =  0 
...
Рейтинг: 0 / 0
Автоматическое удаление строк
    #36839277
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

скорее уж так(как при удалении из коллекции)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub abc()
i= 1000 
    do while  i > 0 
        If Cells(i,  1 ).Value = "0" Then
            Rows(i).Delete Shift:=xlUp
        End If
        i=i- 1 
    Next
End Sub
...
Рейтинг: 0 / 0
Автоматическое удаление строк
    #36839618
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точно! как-то руки не дошли до проверки =)
вообще программно удалять строки - неблагодарное занятие.


да и циклом долго. самое быстрое - автофильтр и грохнуть строки с нулем. можно даже программно.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Автоматическое удаление строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]