powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как убрать кавычки из условного форматирования?
6 сообщений из 6, страница 1 из 1
Как убрать кавычки из условного форматирования?
    #36300189
SanSagittarius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, пытаюсь реализовать подсветку строк по значению последней ячейки диапазона.

Подскажите, пожалуйста, как убрать кавычки при подстановке значения через VBA:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
For i =  2  To  100 

myRange = "A" & i & ":F" & i
mySrav = "$G$" & i & "=4" ' по значению этой ячейки должна подсвечиваться вся строка

Range(myRange).Select

    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="$G$" & i & "=4" ' в условном форматировании 
'подставляется значение с кавычками, например, ="$G$2=4", что неработает...
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions( 1 ).Interior
        .PatternColorIndex = xlAutomatic
        .Color =  3009044  ' 
        .TintAndShade =  0 
    End With
    Selection.FormatConditions( 1 ).StopIfTrue = True

next

Как убрать эти кавычки? Или есть более удачный вариант?
...
Рейтинг: 0 / 0
Как убрать кавычки из условного форматирования?
    #36300383
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Зачем все это в цикле? Как насчет относительной ссылки?
Код: plaintext
Range("A2:F100").FormatConditions.Add Type:=xlExpression, Formula1:= "=$G2=4" 
2. вместо
Код: plaintext
1.
Range(myRange).Select
    Selection.FormatConditions...
пиши
Код: plaintext
Range(myRange).FormatConditions...
3. ответ на твой вопрос
Код: plaintext
1.
    mySrav = "=$G$" & i & "=4" 
    Range(myRange).FormatConditions.Add Type:=xlExpression, Formula1:=mySrav 
...
Рейтинг: 0 / 0
Как убрать кавычки из условного форматирования?
    #36300612
SanSagittarius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor, спасибо!

Как оказалось, не все так сложно! :-) Ваш совет №1 помог решить задачку.
...
Рейтинг: 0 / 0
Как убрать кавычки из условного форматирования?
    #36301578
SanSagittarius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor,

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

Мне нужно добавить 9 условных значений (благо, что 2007 теперь это позволяет)! Реализовал следующим образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Range("a2:f100").Select
Range("A2:F100").FormatConditions.Add Type:=xlExpression, Formula1:="=$G2=1"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions( 1 ).Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade =  0 . 399975585192419  ' 
        .PatternTintAndShade =  0 
    End With
    Selection.FormatConditions( 1 ).StopIfTrue = True

Range("A2:F100").FormatConditions.Add Type:=xlExpression, Formula1:="=$G2=2"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions( 1 ).Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6 ' 
        .TintAndShade =  0 
        .PatternTintAndShade =  0 
    End With
    Selection.FormatConditions( 1 ).StopIfTrue = True

... и еще несколько блоков - до девятого значения...

В целом код работоспособен, но может быть есть лучший способ (этот выполняется довольно медленно...)?
...
Рейтинг: 0 / 0
Как убрать кавычки из условного форматирования?
    #36302900
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
познакомьтесь с
Конструкция With-End With
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    With Range("a2:f100")
        .FormatConditions.Add Type:=xlExpression, Formula1:="=$G2=1"
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        With .FormatConditions( 1 ).Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent2
            .TintAndShade =  0 . 399975585192419  '
            .PatternTintAndShade =  0 
        End With
        .FormatConditions( 1 ).StopIfTrue = True
    
        .FormatConditions.Add Type:=xlExpression, Formula1:="=$G2=2"
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        With .FormatConditions( 1 ).Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent6 '
            .TintAndShade =  0 
            .PatternTintAndShade =  0 
        End With
        .FormatConditions( 1 ).StopIfTrue = True
        ... и еще несколько блоков - до девятого значения...
    End With
P.S. Это хорошо что вы пользуетесь макрорекодером, теперь осталось вчитываться в код, править его и выбрасывать из него лишнее. У меня нет 2007-го, но почти на 100% уверен что строки
Код: plaintext
1.
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
лишние, да и есть другие ненужные.
попробуйте код без этих строк.
...
Рейтинг: 0 / 0
Как убрать кавычки из условного форматирования?
    #36307607
SanSagittarius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor,

Вы правы - по-прежнему пользуюсь макрорекодером для незнакомых ситуаций... :-) Буду исправляться и углубляться в изучение основ программирования.. ))

Спасибо за советы!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как убрать кавычки из условного форматирования?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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