Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Фильтр. Удалить строки в диапазоне по столбцу. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Фильтр. Удалить строки в диапазоне по столбцу.
den45444 Дата: Пятница, 02.10.2015, 05:28 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Как задать фильтр на удаление строк в столбце I в диапазоне от 1-й строки до строки со значением "Итого на работу:"
В столбце I находятся разные формулы, но бывает, что некоторые строки пустые или формула выдает ноль.
Нужно задать фильтр, чтобы удалить лишние строки со значение "0" и ""
К сообщению приложен файл: 9941707.xlsm (25.7 Kb)


Сообщение отредактировал den45444 - Пятница, 02.10.2015, 16:05
 
Ответить
СообщениеКак задать фильтр на удаление строк в столбце I в диапазоне от 1-й строки до строки со значением "Итого на работу:"
В столбце I находятся разные формулы, но бывает, что некоторые строки пустые или формула выдает ноль.
Нужно задать фильтр, чтобы удалить лишние строки со значение "0" и ""

Автор - den45444
Дата добавления - 02.10.2015 в 05:28
Manyasha Дата: Пятница, 02.10.2015, 11:17 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
den45444, например так:
[vba]
Код
Sub del_rows()
     Application.ScreenUpdating = False
     Dim i&
     For i = Cells(Rows.Count, 1).End(xlUp).Row To 6 Step -1
         If Cells(i, 1) <> "" And InStr(Cells(i, 1), "Итого") = 0 And Cells(i, "I") = 0 Then Rows(i).Delete
     Next i
End Sub
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеden45444, например так:
[vba]
Код
Sub del_rows()
     Application.ScreenUpdating = False
     Dim i&
     For i = Cells(Rows.Count, 1).End(xlUp).Row To 6 Step -1
         If Cells(i, 1) <> "" And InStr(Cells(i, 1), "Итого") = 0 And Cells(i, "I") = 0 Then Rows(i).Delete
     Next i
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 02.10.2015 в 11:17
den45444 Дата: Пятница, 02.10.2015, 12:49 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, Благодарю за ответ.
В данном диапазоне не удаляет пустые строки.
А также, удаляет всю информацию, которая находится ниже данного диапазона.
Т.е., в целом, смысл выглядит так:
1. Задаем диапазон от 6 строки до строки со значением "Итого на работу:"
2. Ищем в столбце "I" нули и пустые ячейки.
3. Удаляем все эти строки.
4. При этом вся нижняя часть должна сместиться.
 
Ответить
СообщениеManyasha, Благодарю за ответ.
В данном диапазоне не удаляет пустые строки.
А также, удаляет всю информацию, которая находится ниже данного диапазона.
Т.е., в целом, смысл выглядит так:
1. Задаем диапазон от 6 строки до строки со значением "Итого на работу:"
2. Ищем в столбце "I" нули и пустые ячейки.
3. Удаляем все эти строки.
4. При этом вся нижняя часть должна сместиться.

Автор - den45444
Дата добавления - 02.10.2015 в 12:49
Manyasha Дата: Пятница, 02.10.2015, 13:04 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
den45444, что-то не поняла, что конкретно не верно работает:
лист 1 - как было до запуска макроса
лист 2(СМЕТА) - после запуска.

Что не правильно?
К сообщению приложен файл: 9941707-1.xlsm (27.0 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеden45444, что-то не поняла, что конкретно не верно работает:
лист 1 - как было до запуска макроса
лист 2(СМЕТА) - после запуска.

Что не правильно?

Автор - Manyasha
Дата добавления - 02.10.2015 в 13:04
dlink74 Дата: Пятница, 02.10.2015, 13:22 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 0 ±
Замечаний: 0% ±

2010
Спасибо.
Тоже воспользовался с адаптацией под свою задачу.
 
Ответить
СообщениеСпасибо.
Тоже воспользовался с адаптацией под свою задачу.

Автор - dlink74
Дата добавления - 02.10.2015 в 13:22
den45444 Дата: Пятница, 02.10.2015, 14:12 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
что-то не поняла, что конкретно не верно работает:

Теперь попробуйте вставить в эту таблицу несколько пустых строк и увидите, что их программа игнорирует.
 
Ответить
Сообщение
что-то не поняла, что конкретно не верно работает:

Теперь попробуйте вставить в эту таблицу несколько пустых строк и увидите, что их программа игнорирует.

Автор - den45444
Дата добавления - 02.10.2015 в 14:12
den45444 Дата: Пятница, 02.10.2015, 16:05 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, Вот пример, но только с разными строками.
К сообщению приложен файл: 9249252.xlsm (25.7 Kb)
 
Ответить
СообщениеManyasha, Вот пример, но только с разными строками.

Автор - den45444
Дата добавления - 02.10.2015 в 16:05
RAN Дата: Пятница, 02.10.2015, 17:05 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Вы никак не хотите задуматься над критериями "хорошести". Например, почему строку 10 удалять нужно, а строку 20 нет? Чем они отличаются? Автономно - только цветом. В составе таблицы - окружением.
Исходя из условий "хорошести" определяется алгоритм удаления.
При этом следует учитывать, насколько важна "скорострельность". (По цвету или...)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВы никак не хотите задуматься над критериями "хорошести". Например, почему строку 10 удалять нужно, а строку 20 нет? Чем они отличаются? Автономно - только цветом. В составе таблицы - окружением.
Исходя из условий "хорошести" определяется алгоритм удаления.
При этом следует учитывать, насколько важна "скорострельность". (По цвету или...)

Автор - RAN
Дата добавления - 02.10.2015 в 17:05
den45444 Дата: Пятница, 02.10.2015, 17:52 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, Мне не важна заливка и т.п. Мне важно, чтобы в указанном диапазоне удалялись обсалютно все строки, у которых в столбце "I" ноль или пустая ячейка.
 
Ответить
СообщениеRAN, Мне не важна заливка и т.п. Мне важно, чтобы в указанном диапазоне удалялись обсалютно все строки, у которых в столбце "I" ноль или пустая ячейка.

Автор - den45444
Дата добавления - 02.10.2015 в 17:52
RAN Дата: Пятница, 02.10.2015, 18:40 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
И где проблема?
[vba]
Код
Sub del_rows()
     Application.ScreenUpdating = False
     Dim i&
     For i = Cells(Rows.Count, 1).End(xlUp).Row To 6 Step -1
         If Val(Cells(i, "I")) = 0 Then Rows(i).Delete
     Next i
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИ где проблема?
[vba]
Код
Sub del_rows()
     Application.ScreenUpdating = False
     Dim i&
     For i = Cells(Rows.Count, 1).End(xlUp).Row To 6 Step -1
         If Val(Cells(i, "I")) = 0 Then Rows(i).Delete
     Next i
End Sub
[/vba]

Автор - RAN
Дата добавления - 02.10.2015 в 18:40
den45444 Дата: Пятница, 02.10.2015, 18:49 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
И где проблема?

Диапазон от 6-й строки до строки со значением "Итого на работу:"
 
Ответить
Сообщение
И где проблема?

Диапазон от 6-й строки до строки со значением "Итого на работу:"

Автор - den45444
Дата добавления - 02.10.2015 в 18:49
den45444 Дата: Пятница, 02.10.2015, 18:51 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
И где проблема?

И все что находится ниже строки "Итого на работу", должно смещаться на кол-во удаленных строк.
 
Ответить
Сообщение
И где проблема?

И все что находится ниже строки "Итого на работу", должно смещаться на кол-во удаленных строк.

Автор - den45444
Дата добавления - 02.10.2015 в 18:51
RAN Дата: Пятница, 02.10.2015, 18:59 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Диапазон от 6-й строки до строки со значением "Итого на работу:"

Так задайте этот диапазон.

И все что находится ниже строки "Итого на работу", должно смещаться на кол-во удаленных строк.

Ну, вообще-то, они так и смещаются. А мужики-то и не знают! clap


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Диапазон от 6-й строки до строки со значением "Итого на работу:"

Так задайте этот диапазон.

И все что находится ниже строки "Итого на работу", должно смещаться на кол-во удаленных строк.

Ну, вообще-то, они так и смещаются. А мужики-то и не знают! clap

Автор - RAN
Дата добавления - 02.10.2015 в 18:59
den45444 Дата: Пятница, 02.10.2015, 19:04 | Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, [vba]
Код
Sub del_rows()
     Application.ScreenUpdating = False
     Dim i&
     For i = Cells(Rows.Count, 1).End(xlUp).Row To 6 Step -1
         If Cells(i, 1) <> "" And InStr(Cells(i, 1), "Итого") = 0 And Cells(i, "I") = 0 Then Rows(i).Delete
     Next i
End Sub
[/vba]
Как можно этот код поправить, чтобы он удалял еще пустые строки и чтобы не удалял нижние строки (за строкой "Итого на работу"?
 
Ответить
СообщениеRAN, [vba]
Код
Sub del_rows()
     Application.ScreenUpdating = False
     Dim i&
     For i = Cells(Rows.Count, 1).End(xlUp).Row To 6 Step -1
         If Cells(i, 1) <> "" And InStr(Cells(i, 1), "Итого") = 0 And Cells(i, "I") = 0 Then Rows(i).Delete
     Next i
End Sub
[/vba]
Как можно этот код поправить, чтобы он удалял еще пустые строки и чтобы не удалял нижние строки (за строкой "Итого на работу"?

Автор - den45444
Дата добавления - 02.10.2015 в 19:04
den45444 Дата: Пятница, 02.10.2015, 19:13 | Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, Ваш код тоже неверно работает. Если добавить в диапазон пустую строку и строка заполнена не полностью, то процедура игнорирует эти строки.
 
Ответить
СообщениеRAN, Ваш код тоже неверно работает. Если добавить в диапазон пустую строку и строка заполнена не полностью, то процедура игнорирует эти строки.

Автор - den45444
Дата добавления - 02.10.2015 в 19:13
RAN Дата: Пятница, 02.10.2015, 19:26 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Если добавить в диапазон пустую строку и строка заполнена не полностью, то процедура игнорирует эти строки.

Наплевать, наплевать, надоело воевать!
Мне важно, чтобы в указанном диапазоне удалялись обсалютно все строки, у которых в столбце "I" ноль или пустая ячейка.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Если добавить в диапазон пустую строку и строка заполнена не полностью, то процедура игнорирует эти строки.

Наплевать, наплевать, надоело воевать!
Мне важно, чтобы в указанном диапазоне удалялись обсалютно все строки, у которых в столбце "I" ноль или пустая ячейка.

Автор - RAN
Дата добавления - 02.10.2015 в 19:26
Manyasha Дата: Понедельник, 05.10.2015, 11:41 | Сообщение № 17
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
den45444, пробуйте так (ориентировка на цвет):
[vba]
Код
Sub del_rows()
     Application.ScreenUpdating = False
     Dim i&
     For i = Cells(Rows.Count, 1).End(xlUp).Row To 6 Step -1
         If InStr(Cells(i, 1), "Итого") = 0 And Cells(i, "I") = 0 And Cells(i, 1).Interior.ColorIndex = xlNone Then Rows(i).Delete
     Next i
End Sub
[/vba]
К сообщению приложен файл: 9941707-2.xlsm (28.7 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеden45444, пробуйте так (ориентировка на цвет):
[vba]
Код
Sub del_rows()
     Application.ScreenUpdating = False
     Dim i&
     For i = Cells(Rows.Count, 1).End(xlUp).Row To 6 Step -1
         If InStr(Cells(i, 1), "Итого") = 0 And Cells(i, "I") = 0 And Cells(i, 1).Interior.ColorIndex = xlNone Then Rows(i).Delete
     Next i
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 05.10.2015 в 11:41
den45444 Дата: Понедельник, 05.10.2015, 12:56 | Сообщение № 18
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, То что надо. Благодарю!!!
 
Ответить
СообщениеManyasha, То что надо. Благодарю!!!

Автор - den45444
Дата добавления - 05.10.2015 в 12:56
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!