Страницы: 1
RSS
Удаление строки со сдвигом отчета вверх.
 
У меня есть отчет из У столбцов и Х строк. Если все столбцы в одной какой то строке пустые (кроме первого столбца), то такую строку нада удалить.Переместив все след строки на 1 позицию вверх. Понимаю, что таких тем уже было полно. Но там все какие то более мудреные темы. А мне нужно гораздо проще.Спс.
 
Ну, если совсем просто - выделяете ячейки, которые нужно удалить, ПКМ - удалить- ячейки со сдвигом вверх.    
Ежели таких строк много - то "по-простому" будет тяжело....
 
А как-же "Удаление строк по условию" ? :-)
 
Дело в то , что строк неопределенное количество. И делать это нужно непосредственно макросом.
 
Неуж то нет ничего такого по типу:  
 
if cells= "" then    
Range (cells). delete (но не просто удаление а удаление со сдвигом вверх.)
 
{quote}{login=WorkHard}{date=20.11.2009 12:57}{thema=}{post}Дело в то , что строк неопределенное количество. И делать это нужно непосредственно макросом.{/post}{/quote}  
 
Дык и я про это...
 
{quote}{login=Serge 007}{date=20.11.2009 01:05}{thema=Re: }{post}{quote}{login=WorkHard}{date=20.11.2009 12:57}{thema=}{post}Дело в то , что строк неопределенное количество. И делать это нужно непосредственно макросом.{/post}{/quote}  
 
Дык и я про это...{/post}{/quote}  
 
 
А конкретнее и макросом можно ? Заранее спасибо.
 
Я всё намекаю про поиск :-)  
Наберите "Удаление строк по условию", это одна из самых популярных тем.
 
А макрорекордер очень правильно записывает это действие. Уберете все лишние селекты  
и как то так  
ячейки(ячейка(и,1), ячейка(и, "Н")).удалить.ехсСосдвигомВверх  
Игорь67
 
Если уж совсем ничего не получится, то попробуйте такой макрос:  
Sub WorkHard()  
Dim iLastRow As Long  
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row  
  For i = iLastRow To 4 Step -1  
     If Cells(i, 3) = "" And Cells(i, 4) = "" And Cells(i, 5) = "" Then Rows(i).Delete  
  Next  
End Sub
 
Я исправил номера столбцов: копировал, а номера не подправил.
 
WorkHard, макросы писать не умею, могу предложить написать так: ф4=ЕСЛИ(И(C4="";D4="";E4="");1;2), затем отсортировать всё по столбцу F и удалить  строки, где есть число "1".
Страницы: 1
Читают тему
Наверх