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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматизация удаления лишних строк - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Автоматизация удаления лишних строк
Alone-x Дата: Вторник, 01.02.2011, 19:59 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Добрый вечер!)

Есть столбик чисел. Между каждой строчкой с данными, есть строчка-пробел с пустотой.
Для ясности лучше смотреть вложение.

Задача- показать методику быстрого удаления лишних строк-пробелов.
заранее спасибо)

К сообщению приложен файл: 1110963.xlsx (9.9 Kb)


Сообщение отредактировал Alone-x - Вторник, 01.02.2011, 20:31
 
Ответить
СообщениеДобрый вечер!)

Есть столбик чисел. Между каждой строчкой с данными, есть строчка-пробел с пустотой.
Для ясности лучше смотреть вложение.

Задача- показать методику быстрого удаления лишних строк-пробелов.
заранее спасибо)


Автор - Alone-x
Дата добавления - 01.02.2011 в 19:59
_Boroda_ Дата: Вторник, 01.02.2011, 20:45 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация: 6503 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
встать в А1, нажать Контрл Шифт Енд (вместе), разъединить объединнные ячейки (кнопкой или в формате ячейки), встать в А2, поставить автофильтр, выбрать "пустые", выделить видимые ячейки, удалить (можно сразу строки), снять автофильтр
Или то же самое макросом
[vba]
Code
Sub Макрос22()
Range(Range("A1"), ActiveCell.SpecialCells(xlLastCell)).UnMerge
Range(Range("A2"), ActiveCell.SpecialCells(xlLastCell)).AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="="
Range(Range("A2"), ActiveCell.SpecialCells(xlLastCell)).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщениевстать в А1, нажать Контрл Шифт Енд (вместе), разъединить объединнные ячейки (кнопкой или в формате ячейки), встать в А2, поставить автофильтр, выбрать "пустые", выделить видимые ячейки, удалить (можно сразу строки), снять автофильтр
Или то же самое макросом
[vba]
Code
Sub Макрос22()
Range(Range("A1"), ActiveCell.SpecialCells(xlLastCell)).UnMerge
Range(Range("A2"), ActiveCell.SpecialCells(xlLastCell)).AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="="
Range(Range("A2"), ActiveCell.SpecialCells(xlLastCell)).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 01.02.2011 в 20:45
Alone-x Дата: Вторник, 01.02.2011, 20:59 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Quote (_Boroda_)
встать в А1, нажать Контрл Шифт Енд (вместе), разъединить объединнные ячейки (кнопкой или в формате ячейки), поставить автофильтр, вбрать "пустые", выделить видимые ячейки, удалить (можно сразу строки), снять автофильтр

или я что то не понял, или это получится что я ручками буду каждую строчку-пробел удалять??
это я и сам могу сделать) мне бы хотелось что бы Ексель сам все делал за меня =)

 
Ответить
Сообщение
Quote (_Boroda_)
встать в А1, нажать Контрл Шифт Енд (вместе), разъединить объединнные ячейки (кнопкой или в формате ячейки), поставить автофильтр, вбрать "пустые", выделить видимые ячейки, удалить (можно сразу строки), снять автофильтр

или я что то не понял, или это получится что я ручками буду каждую строчку-пробел удалять??
это я и сам могу сделать) мне бы хотелось что бы Ексель сам все делал за меня =)


Автор - Alone-x
Дата добавления - 01.02.2011 в 20:59
RAN Дата: Вторник, 01.02.2011, 22:00 | Сообщение № 4
Группа: Гости
Если не нравится этот способ, то в готовых решениях есть макрос по удалению пустых строк. Останется к нему дописать кусочек по разъединению ячеек и запустить. Тогда Эксел все сделает сам. Правда времени потребуется несколько больше, чем те 30 секунд, которыми удаляются эти же строки в приведенном выше способе. tongue
 
Ответить
СообщениеЕсли не нравится этот способ, то в готовых решениях есть макрос по удалению пустых строк. Останется к нему дописать кусочек по разъединению ячеек и запустить. Тогда Эксел все сделает сам. Правда времени потребуется несколько больше, чем те 30 секунд, которыми удаляются эти же строки в приведенном выше способе. tongue

Автор - RAN
Дата добавления - 01.02.2011 в 22:00
Serge_007 Дата: Среда, 02.02.2011, 00:23 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Так как я в работе никогда не пользуюсь автофильтром, то мой способ немного отличается от способа _Boroda_, но суть та-же, да и времени надо столько-же.

Встать в А1, нажать Ctrl+Shift+End, разъединить объединнные ячейки (кнопкой или в формате ячейки), нажать F5, выбрать "пустые", удалить.

Вместо "Встать в А1, нажать Ctrl+Shift+End" можно выделить весь столбец (на скорость выполнения в данном случае это не влияет).



Или то же самое макросом:
[vba]
Код
Sub DeleteEmptyCells()
               Range("A1:A2").Select
               Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
               Selection.UnMerge
               Selection.SpecialCells(xlCellTypeBlanks).Select
               Selection .Delete Shift:=xlUp
End Sub
[/vba]
К сообщению приложен файл: RemoveEmptyCell.rar (122.1 Kb) · Alone-x_Quick.xls (49.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеТак как я в работе никогда не пользуюсь автофильтром, то мой способ немного отличается от способа _Boroda_, но суть та-же, да и времени надо столько-же.

Встать в А1, нажать Ctrl+Shift+End, разъединить объединнные ячейки (кнопкой или в формате ячейки), нажать F5, выбрать "пустые", удалить.

Вместо "Встать в А1, нажать Ctrl+Shift+End" можно выделить весь столбец (на скорость выполнения в данном случае это не влияет).



Или то же самое макросом:
[vba]
Код
Sub DeleteEmptyCells()
               Range("A1:A2").Select
               Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
               Selection.UnMerge
               Selection.SpecialCells(xlCellTypeBlanks).Select
               Selection .Delete Shift:=xlUp
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 02.02.2011 в 00:23
Alone-x Дата: Среда, 02.02.2011, 11:04 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Цитата (Serge_007)

Цитата (_Boroda_)


Спасибо, мужики!) разобрался!)
 
Ответить
Сообщение
Цитата (Serge_007)

Цитата (_Boroda_)


Спасибо, мужики!) разобрался!)

Автор - Alone-x
Дата добавления - 02.02.2011 в 11:04
  • Страница 1 из 1
  • 1
Поиск:

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