Страница 1 из 1
vba excel
Добавлено: 02 июн 2009, 16:14
rovi221
задача вроде простая
перебрать заполненые строки листа
при определенных условиях (например в ячейке 1 колонки слово Ошибка)
удалить эту строку и предыдущию
Re: vba excel
Добавлено: 02 июн 2009, 17:16
AlexZZZ
Да, вроде, действительно, не сложная.
Код: Выделить всё
Dim n As Long
For n = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count _
To ActiveSheet.UsedRange.Row Step -1
If Cells(n, 1).Value = "Ошибка" Then
Rows(n).Delete
If n > 1 Then Rows(n - 1).Delete
End If
Next n
Re: vba excel
Добавлено: 03 июн 2009, 09:56
rovi221
alexZZZ
спасибо работает
извините за навязчивость
а как переместить ошибку в конец предедущей строки,
а строку с ошибкой удалить
Re: vba excel
Добавлено: 03 июн 2009, 12:27
AlexZZZ
Если я правильно понял Вашу задачу, то так:
Код: Выделить всё
Dim n As Long
For n = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count _
To ActiveSheet.UsedRange.Row Step -1
If Cells(n, 1).Value = "Ошибка" Then
If n > 1 Then Cells(n - 1, ActiveSheet.UsedRange.Column - 1 + _
ActiveSheet.UsedRange.Columns.Count).Value = "Ошибка"
Rows(n).Delete
End If
Next n
Конец строки в данном случае - это последний столбец используемого диапазона активного листа.