|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Как удалить все строки в Excel содержащие..
Столкнулся с проблемой, необходимо из Дельфи удалить все строки в Excel таблице, в которых в первом столбце содержится символ "х"? Помогите советом
Пробую так, но видать где-то ошибка: Код:
for I2 := 0 to 200 do begin if XL.Cells[I2,1].value='x' then begin XL.Rows[i2].delete;end; end; Delphicode.org - справочник Delphi |
#2
|
|||
|
|||
А в чем ошибка проявляется?
|
#3
|
||||
|
||||
Цитата:
Если в двух строках подряд имеется символ "х" удаляется только одна.. Delphicode.org - справочник Delphi |
#4
|
||||
|
||||
Это потому, что когда ты удаляешь строку в экселе, то автоматически меняется адресация (попробуй ручками удалить строку). Чтобы обойти эту фичу делай просто - двигайся снизу вверх по строчкам, и цикл используй не for, а while или repeat.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#5
|
||||
|
||||
Спасибо за идею... все заработало. Единственный вопрос остался, как посчитать количество заполненных строк на листе чтобы правильно организовать цикл. Подскажите...
Delphicode.org - справочник Delphi |
#6
|
||||
|
||||
Вот код на VBA, под Delphi сам адаптируй
Код:
iAddress = Range("A1").SpecialCells(xlLastCell).Address irow = Range("A1").SpecialCells(xlLastCell).Row iclm = Range("A1").SpecialCells(xlLastCell).Column Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#7
|
|||
|
|||
Ребята, помогите пожалуйста!! Буду благодарен за VBA код для удаления строк, в которых в 13-ом столбце содержится значение "3". Очень надо.
|