Новости:

Из правил форума: Тема должна отражать суть вопроса, топики типа "help please" будут удаляться!

Главное меню

Макрос копирования непустых ячеек

Автор Bomont, 07.12.2011, 12:04

« назад - далее »

Bomont

Господа, помогите с решением такой задачки:

есть столбец в котором есть пустые и непустые ячейки
необходимо макросом из него скопировать все непустые ячейки в соседний столбец с пропуском пустых ячеек

Как самый простой вариант, можно макросом перебирать все ячейки в стоблце и копировать каждую, если она не пустая. Однако если ячеек очень много и таких операций надо проводить много - это занимает много времени. Но наверняка найдется более лучший (бычтрый) способ?

P.S. вручную это делается так: ставится фильтр на столбец, где убирается галочка с пустых ячеей. Далее все это выделяется, копируется и при в ставке на новый лист - пустых ячеек уже нет.

ShAM

ЦитироватьP.S. вручную это делается так: ставится фильтр на столбец, где убирается галочка с пустых ячеей. Далее все это выделяется, копируется и при в ставке на новый лист - пустых ячеек уже нет.
А Вы макрорекордером не пробовали пользоваться. Я по Вашему алгоритму попробовал, смотрите, что получилось.

_Boroda_

Цитата: ShAM от 07.12.2011, 12:47
А Вы макрорекордером не пробовали пользоваться. Я по Вашему алгоритму попробовал, смотрите, что получилось.
Примерно то же самое, только макрорекодер подправлен немного
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

nilem

Или
Sub Макрос9()
Sheets("Лист3").Range("A:A").SpecialCells(2).Copy Sheets("Лист2").Range("A1")
End Sub

_Boroda_

Цитата: nilem от 07.12.2011, 13:20
Или
Sub Макрос9()
Sheets("Лист3").Range("A:A").SpecialCells(2).Copy Sheets("Лист2").Range("A1")
End Sub

Вообще классно!
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Bomont

Цитата: nilem от 07.12.2011, 13:20
Или
Sub Макрос9()
Sheets("Лист3").Range("A:A").SpecialCells(2).Copy Sheets("Лист2").Range("A1")
End Sub



Всем большое спасибо! Вот одной строчкой и искал вариант! Еще раз спасибо за помощь!!!