powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Условное форматирование к именованному диапазону VBA
5 сообщений из 5, страница 1 из 1
Условное форматирование к именованному диапазону VBA
    #39921323
guzel09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Вопрос такой: можно ли условное форматирование FormatConditions применять к именованному диапазону? Если можно с примером. Спасибо.
...
Рейтинг: 0 / 0
Условное форматирование к именованному диапазону VBA
    #39921325
guzel09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда написано так все работает.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
              ThisWorkbook.Worksheets("Лист1").Range("F7:AJ150").FormatConditions.Add Type:=xlExpression, Formula1:= "=ДЛСТР(F7)=0"
              ThisWorkbook.Worksheets("Лист1").Range("F7:AJ150").FormatConditions(ThisWorkbook.Worksheets("Лист1").Range("F7:AJ150").FormatConditions.Count).SetFirstPriority
              With ThisWorkbook.Worksheets("Лист1").Range("F7:AJ150").FormatConditions(1).Interior
                  .PatternColorIndex = xlAutomatic
                  .Color = 15198207
                  .TintAndShade = 0
              End With
              ThisWorkbook.Worksheets("Лист1").Range("F7:AJ150").FormatConditions(1).StopIfTrue = True



Но мне надо такие изменения внести во множество файлов. И во всех файлах разные диапазоны. Хотела использовать именованные диапазоны, но пишет ошибку. Application-defined or object-defined error

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Условное форматирование к именованному диапазону VBA
    #39921647
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guzel09
Хотела использовать именованные диапазоны
как именно Вы их используете?
По идее обратиться к именованному диапазону достаточно просто:
Код: vbnet
1.
ThisWorkbook.Worksheets("Лист1").Range("Имя_диапазона")


чтобы была работоспособная формула записывать лучше будет так:
Код: vbnet
1.
2.
3.
Dim rr as range 'здесь будем хранить наш диапазон
set rr = ThisWorkbook.Worksheets("Лист1").Range("Имя_диапазона")
rr.FormatConditions.Add Type:=xlExpression, Formula1:= "=ДЛСТР(" & rr.cells(1,1).address(0,0,referencestyle:=Application.referencestyle) & ")=0"


Код: plaintext
rr.cells(1,1).address(0,0,referencestyle:=Application.referencestyle)
- это чтобы в формуле ссылка была всегда на первую ячейку именованного диапазона и в нужном виде(с учетом текущего стиля ссылок).
вопрос останется только в том как эти имена были назначены и с какой областью действия. Возможно, область действия Лист2, тогда из Лист1 к нему нельзя будет обратиться.
...
Рейтинг: 0 / 0
Условное форматирование к именованному диапазону VBA
    #39921660
guzel09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,
Оооо, спасибо!! Все супер работает! Хотя я вроде тоже примерно также писала только без Set..
ThisWorkbook.Worksheets("Лист1").Range("obl_usl_format").FormatConditions.Add...
Но выходила ошибка.
А по поводу листа.. принято конечно все на Лист1, но если бы были бы разные листы то можно было бы поиск по листам организовать? Именованные диапазоны относится к определенному листу?
...
Рейтинг: 0 / 0
Условное форматирование к именованному диапазону VBA
    #39921667
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guzel09
Именованные диапазоны относится к определенному листу?
Не обязательно. Если при создании имени указать область действия конкретный лист - то работать имя будет только на этом листе. Если книга - на всех листа. По умолчанию область действия Книга.
guzel09
я вроде тоже примерно также писала только без Set
возможно проблема при этом возникала именно из-за неверной формулы
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Условное форматирование к именованному диапазону VBA
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]