Удаление строк в Excel программно. Очень простой вопрос. - VB
Формулировка задачи:
Не могу сообразить как удалить строку в таблице Ексель, которая не удовлетворяет определенному условию.
Такой вот простой цикл, однако он удаляет только половину строк, которые не содержат цифру "1". Потому что после удаления строки, нижняя строка встает на ее место и программа эту строку пропускает.
Как обойти это?
P.S Можно конечно через автофильтр выделить нужные строки и потом удалить, однако я не считаю это красивым решением.
Такой вот простой цикл, однако он удаляет только половину строк, которые не содержат цифру "1". Потому что после удаления строки, нижняя строка встает на ее место и программа эту строку пропускает.
Как обойти это?
P.S Можно конечно через автофильтр выделить нужные строки и потом удалить, однако я не считаю это красивым решением.
Решение задачи: «Удаление строк в Excel программно. Очень простой вопрос.»
textual
Листинг программы
<font color="blue">Dim</font> I <font color="blue">As</font> <font color="blue">Integer</font> <font color="blue">Dim</font> Spisok <font color="blue">As</font> Worksheet I = <font color="darkblue"><b>1</b></font> <font color="blue">Set</font> Spisok = ThisWorkbook.Sheets(<font color="teal">"Лист1"</font>) <font color="blue">Do</font> <font color="blue">While</font> Spisok.Range(<font color="teal">"A"</font> & I) <> <font color="teal">""</font> <font color="blue">If</font> Spisok.Range(<font color="teal">"A"</font> & I) <> <font color="darkblue"><b>1</b></font> <font color="blue">Then</font> Spisok.Rows(I).Delete <font color="blue">Else</font> I = I + <font color="darkblue"><b>1</b></font> <font color="blue">End</font> <font color="blue">If</font> <font color="blue">Loop</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д