Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как найти ячейки с определенным цветом?

14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
Необходимо в excel найти в столбце 1 ячейку синего цвета и скопировать ее в столбец 2 во все строки до нахождения следующей синей ячейки в столбце 1. Далее опять копируется синяя ячейка до нахожденя следующей синей. Заранее спасибо!
7.8K
18 июля 2006 года
DrCoder
106 / / 27.01.2006
гы-гы )))
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
а что тут смешного?
275
18 июля 2006 года
pashulka
985 / / 19.09.2004
Cybereyg, Впервые возможность поиска ячейки, исходя из параметров форматирования, появилась только в MS Excel XP. Если у Вас наличествует более ранняя версия, то Вам, по всей видимости, придётся использовать перебор ячеек.
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
в приложени прикрепелено что есть и что должно получиться
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
у меня как раз Excel XP
8.8K
18 июля 2006 года
The_Ice
109 / / 04.04.2006
а в чем смысл этих переставлений? если не секрет...
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
имеется структура, а нужна другая, вот и все, а в связи с большим кол-вом ячеек, в ручную переставить не представляется возможным.
275
18 июля 2006 года
pashulka
985 / / 19.09.2004
Решение Вашего вопроса может выглядеть следующим образом, конечно при условии, что цвет заливки всех заголовков - именно синий.

 
Код:
iMaxRow& = Cells(65536, 1).End(xlUp).Row: iTempRow& = iMaxRow&

For iRow& = iMaxRow& To 1 Step -1
    If Cells(iRow&, 1).Interior.Color = vbBlue Then
       Cells(iRow&, 1).Copy Range(Cells(iRow& + 1, 2), Cells(iTempRow&, 2))
       iTempRow& = iRow& - 1
    End If
Next


P.S. Если же Вы хотите использовать именно поиск подобных ячеек, то см. справку касательно Find + FindFormat
14K
18 июля 2006 года
cybereyg
18 / / 17.07.2006
Большое спасибо! Помогло. А как можно потом удалить строчку с синей ячейкой, с которой началась вставка?
275
18 июля 2006 года
pashulka
985 / / 19.09.2004
Если Вы действительно хотите удалить только ячейку, то :
 
Код:
Cells(iRow&, 1).Delete


Если же Вам нужно удалить строку, которой принадлежит эта ячейка, то :
 
Код:
Cells(iRow&, 1).EntireRow.Delete
Rem Или
Rows(iRow&).Delete
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог