Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 15.04.2019, 16:52   #1
Елена195
Пользователь
 
Регистрация: 21.01.2019
Сообщений: 27
Репутация: 10
По умолчанию Копирование при условном форматировании

Добрый день!

Есть необходимость скопировать форматы ячеек ( а именно их заливку и формат шрифта) и вставить значениями в другую область.
Проблема заключается в том, что изначально ячейкам придается формат с помощью условного форматирования, и в другую область вставляются просто данные.
Далее в файле с этими форматами работает макрос, и не может определить формат при условном форматировании.

Список присылает подрядчик, и иногда может достигать 100-200 строк, по этому переделывать и задавать форматы руками достаточно муторно и сложно, тем более можно промазать с точным форматированием.

Подскажите пожалуйста, можно ли как-то скопировать форматы без условий условного форматирования?

Пример файла во вложении.

Заранее спасибо.
Вложения
Тип файла: xlsx Пример.xlsx (9.7 Кб, 4 просмотров)
Елена195 вне форума   Ответить с цитированием
Старый 15.04.2019, 17:06   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,609
Репутация: 5617
По умолчанию

Цитата:
Сообщение от Елена195 Посмотреть сообщение
Подскажите пожалуйста, можно ли как-то скопировать форматы без условий условного форматирования?
по-моему, нельзя.

но, с другой стороны, можно использовать для ваших целей данные из правил условного форматирования.

p.s. ну у Вас и задачки. Это же феерический ужас, а не задачки.
А эта ваша задача как-то связана с вашей прошлой темой "Макрос по цветам" ?
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 15.04.2019, 17:10   #3
Елена195
Пользователь
 
Регистрация: 21.01.2019
Сообщений: 27
Репутация: 10
По умолчанию

Да.

Задача связана именно с тем макросом... Тот макрос мне так же помогли написать на одном из форумов, и там же писали что он не будет работать при условном форматировании ячеек, и как я поняла макросы не работают с условным форматированием.

Или макросы все же умеют работать с условным форматированием?
Елена195 вне форума   Ответить с цитированием
Старый 15.04.2019, 17:15   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,609
Репутация: 5617
По умолчанию

Цитата:
Сообщение от Елена195 Посмотреть сообщение
Или макросы все же умеют работать с условным форматированием?
умеют.

но по сути верно - макрос для той таблицы с этой работать не будет.

Просто в Excel ячейка, которая раскрашена через свойства (формат, шрифт, заливка) и ячейка, которая раскрашена через условное форматирование - это совершенно разные ячейки.
Суть в том, что для ячеек, которые раскрашены через условное форматирование - в самих ячейках НЕТ сведения о том, как они выглядят после того, как произошло условное форматирование.
Если ваш макрос получает данные из ячейки (как это было в прошлом файле), то он НЕ "УВИДИТ" результат условного форматирования.

Но ведь в ваших файлах нет условного форматирования (судя про прошлому примеру)? Зачем тогда решать проблему, которой нет?
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 15.04.2019, 17:21   #5
Елена195
Пользователь
 
Регистрация: 21.01.2019
Сообщений: 27
Репутация: 10
По умолчанию

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

Только я доделала файл по прошлому примеру и решила проверить его работу на отчетах которые присылали раньше, как обнаружилась эта проблема с условным форматированием...

Да, я понимаю, что условное форматирование не содержится в самой ячейке...

Я нашла информацию, о том, как с помощью макроса задать условное форматирование..

А можно ли считать это форматирование с помощью макроса?

Спасибо.
Елена195 вне форума   Ответить с цитированием
Старый 15.04.2019, 17:42   #6
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,609
Репутация: 5617
По умолчанию

Цитата:
Сообщение от Елена195 Посмотреть сообщение
А можно ли считать это форматирование с помощью макроса?
не совсем.
можно получить список всех правил форматирования для данной ячейки с их формулами, приоритетами и свойствами и далее вручную вычислять, какое из правил сработает.

Код:
Sub GetUDF()
    ' переменные для циклов по ячейкам с условным форматированием
    Dim CC, FF As Range, Rng As Range, valstr$
    Dim Ndx As Long, AC As Long
    Dim FC As FormatCondition
  
            Set Rng = Range("C2")
            For Each CC In Rng
              If CC.FormatConditions.Count > 0 Then
                For Ndx = 1 To Rng.FormatConditions.Count
                    Set FC = CC.FormatConditions(Ndx)
                     и тут проверять 
                        'FC.Type
                        'FC.Formula1
                        'FC.Formula2
                        'FC.Priority
                        'FC.StopIfTrue
                    ну и то, что задано в формате условного форматирования
                        'FC.Font  - это закладка "Шрифт"
                        'FC.Interior - это закладка "Заливка"
                        'FC.Borders - это закладка "Граница"

                    End If
                Next Ndx
              End If
            Next CC
  
End Sub
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 15.04.2019, 17:57   #7
Елена195
Пользователь
 
Регистрация: 21.01.2019
Сообщений: 27
Репутация: 10
По умолчанию

Спасибо большое))

Буду пробовать..

Но скорее всего будем общаться с подрядчиком, что бы он так больше не делал..
Елена195 вне форума   Ответить с цитированием
Старый 15.04.2019, 23:02   #8
Казанский
Профессионал
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
Репутация: 938
По умолчанию

Цитата:
Сообщение от Елена195 Посмотреть сообщение
можно ли считать это форматирование с помощью макроса?
В 2010+ есть свойство range.displayformat. В более ранних - да, приходится анализировать условия условного форматирования и определять формат.
__________________
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума   Ответить с цитированием
Старый 15.04.2019, 23:55   #9
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,609
Репутация: 5617
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
В 2010+ есть свойство range.displayformat. В более ранних - да, приходится анализировать условия условного форматирования и определять формат.
Супер! Я про это свойство не знал!

Так это же резко решает все проблемы Елены!
Достаточно в том макросе, который у неё уже есть, заменить работу с Range.Font, Range.Interior
на Range.DisplayFormat (Range.DisplayFormat.Font, Range.DisplayFormat.Interior и т.д.)
как макрос будет работать и с обычным "ручным" форматированием и условным форматированием!


Казанский, извините, движок форума не даёт мне поставить Вам очередной большой плюс в репутацию...
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задать зависимость выполнения формул от даты в Условном Форматировании KuSerg Microsoft Office Excel 14 08.02.2017 20:20
Как в условном операторе использовать И/ИЛИ? ivan.tiran Assembler 6 13.04.2014 18:52
Замена значений в условном форматировании fotos Microsoft Office Excel 2 06.06.2011 01:04
Сравнить 2 отрицательных значения в "Условном Форматировании" olimpus Microsoft Office Excel 2 28.10.2008 08:09


14:25.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru