Перенести закрашенные цветом ячейки на другой лист в следующий пустой столбец.

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
DATAn
Сообщения: 1
Зарегистрирован: 15 янв 2015, 15:18

16 янв 2015, 00:46

Доброго времени суток! Есть столбец в 1000 ячеек. Среди них есть закрашенные. Мне нужно ПЕРЕНЕСТИ закрашенные ячейки в Лист2 на каждый следующий столбец. Пример, есть 5 закрашеных в цвет ячеек в Листе1. Их нужно найти среди тысячи и перенести в Лист 2 в столбец А, потом пользователь окрашивает в Листе1 еще ячейки, и их перенести в столбец В Листа2, потом перенести в столбец С Листа 2.
SAS888
Сообщения: 156
Зарегистрирован: 16 янв 2008, 08:28

16 янв 2015, 10:32

DATAn писал(а):...потом пользователь окрашивает в Листе1 еще ячейки, и их перенести в столбец В Листа2, потом перенести в столбец С Листа 2.
1. Ячейки разного цвета в разные столбцы?
2. Переносить только вновь окрашенные ячейки, или все окрашенные?
3. Пусть интересующие нас окрашенные ячейки находятся в столбце "A" 1-го листа. Перенести их на 2-ой лист в следующий, после последнего заполненного столбец, можно с помощью макроса:

Код: Выделить всё

Sub qq()
    Dim ws1 As Worksheet, ws2 As Worksheet, x As Range, y As Range, i As Long
    Set ws1 = Sheets(1): Set ws2 = Sheets(2)
    i = ws2.Cells(1, Columns.Count).End(xlToLeft).Column + 1
    ws1.[A:A].Copy ws2.Cells(1, i)
    Set x = Intersect(ws2.UsedRange, ws2.Columns(i))
    x.AutoFilter Field:=1, Operator:=xlFilterNoFill
    Set y = x.SpecialCells(xlCellTypeVisible)
    x.AutoFilter: y.Delete Shift:=xlUp
End Sub
DATAn
Сообщения: 1
Зарегистрирован: 15 янв 2015, 15:18

16 янв 2015, 11:59

Ответить