встать в А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]
встать в А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
встать в А1, нажать Контрл Шифт Енд (вместе), разъединить объединнные ячейки (кнопкой или в формате ячейки), поставить автофильтр, вбрать "пустые", выделить видимые ячейки, удалить (можно сразу строки), снять автофильтр
или я что то не понял, или это получится что я ручками буду каждую строчку-пробел удалять?? это я и сам могу сделать) мне бы хотелось что бы Ексель сам все делал за меня =)
Quote (_Boroda_)
встать в А1, нажать Контрл Шифт Енд (вместе), разъединить объединнные ячейки (кнопкой или в формате ячейки), поставить автофильтр, вбрать "пустые", выделить видимые ячейки, удалить (можно сразу строки), снять автофильтр
или я что то не понял, или это получится что я ручками буду каждую строчку-пробел удалять?? это я и сам могу сделать) мне бы хотелось что бы Ексель сам все делал за меня =)
Если не нравится этот способ, то в готовых решениях есть макрос по удалению пустых строк. Останется к нему дописать кусочек по разъединению ячеек и запустить. Тогда Эксел все сделает сам. Правда времени потребуется несколько больше, чем те 30 секунд, которыми удаляются эти же строки в приведенном выше способе.
Если не нравится этот способ, то в готовых решениях есть макрос по удалению пустых строк. Останется к нему дописать кусочек по разъединению ячеек и запустить. Тогда Эксел все сделает сам. Правда времени потребуется несколько больше, чем те 30 секунд, которыми удаляются эти же строки в приведенном выше способе. RAN
Так как я в работе никогда не пользуюсь автофильтром, то мой способ немного отличается от способа _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]
Так как я в работе никогда не пользуюсь автофильтром, то мой способ немного отличается от способа _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