Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Условное форматирование по выражению - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Условное форматирование по выражению (Макросы/Sub)
Условное форматирование по выражению
Vostok Дата: Четверг, 22.01.2015, 11:05 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Рассчитываю дополнительный столбец и функция ВПР выдаёт в отдельных ячейках #Н/Д:

Пытаюсь придать условное форматирование, окрасив эти ячейки:
[vba]
Код
      tmpRange.FormulaR1C1 = "=RC[-5]-VLOOKUP(RC[-6], Диапазон_3 , 2 , 0)"
        With tmpRange
             .FormatConditions.Delete
             .FormatConditions.Add Type:=xlExpression, Formula1:="=ISERR(RC)"
             .FormatConditions(1).Interior.Color = RGB(255, 255, 204)
        End With
[/vba]
Не срабатывает. Что-то, где-то, не так пишу? Но Что и Где не могу понять. Help please!!!
К сообщению приложен файл: Investing2.xlsm (78.6 Kb)


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"

Сообщение отредактировал Vostok - Четверг, 22.01.2015, 11:06
 
Ответить
СообщениеРассчитываю дополнительный столбец и функция ВПР выдаёт в отдельных ячейках #Н/Д:

Пытаюсь придать условное форматирование, окрасив эти ячейки:
[vba]
Код
      tmpRange.FormulaR1C1 = "=RC[-5]-VLOOKUP(RC[-6], Диапазон_3 , 2 , 0)"
        With tmpRange
             .FormatConditions.Delete
             .FormatConditions.Add Type:=xlExpression, Formula1:="=ISERR(RC)"
             .FormatConditions(1).Interior.Color = RGB(255, 255, 204)
        End With
[/vba]
Не срабатывает. Что-то, где-то, не так пишу? Но Что и Где не могу понять. Help please!!!

Автор - Vostok
Дата добавления - 22.01.2015 в 11:05
_Boroda_ Дата: Четверг, 22.01.2015, 11:10 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вместо
[vba]
Код
Formula1:="=ISERR(RC)"
[/vba]
ишите так
[vba]
Код
Formula1:="=ЕОШИБКА(RC)"
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВместо
[vba]
Код
Formula1:="=ISERR(RC)"
[/vba]
ишите так
[vba]
Код
Formula1:="=ЕОШИБКА(RC)"
[/vba]

Автор - _Boroda_
Дата добавления - 22.01.2015 в 11:10
Vostok Дата: Четверг, 22.01.2015, 11:29 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Formula1:="=ЕОШИБКА(RC)"

Супер. А в чём прикол? Почему на русском?


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"

Сообщение отредактировал Vostok - Четверг, 22.01.2015, 11:29
 
Ответить
Сообщение
Formula1:="=ЕОШИБКА(RC)"

Супер. А в чём прикол? Почему на русском?

Автор - Vostok
Дата добавления - 22.01.2015 в 11:29
Vostok Дата: Четверг, 22.01.2015, 12:01 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Всё отлично подсветилось нужным цветом. Но, если я правильно понимаю, подсветить ещё даты в рамках данного форматирования уже не получится? Там смотрю ни Offset ни Resize не срабатывают:


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"
 
Ответить
СообщениеВсё отлично подсветилось нужным цветом. Но, если я правильно понимаю, подсветить ещё даты в рамках данного форматирования уже не получится? Там смотрю ни Offset ни Resize не срабатывают:

Автор - Vostok
Дата добавления - 22.01.2015 в 12:01
_Boroda_ Дата: Четверг, 22.01.2015, 12:03 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Почему на русском?

Тезка, если честно, то я сам не совсем понял. Теоретически если, то должно быть на вражеском, а вот макрорекодер сказал, что на русском.
А с раскраской ща посмотрю.
Можно добавить блок
[vba]
Код
    With tmpRange.Offset(, -6)
              .FormatConditions.Delete
              .FormatConditions.Add Type:=xlExpression, Formula1:="=ЕОШИБКА(RC[+6])"
              .FormatConditions(1).Interior.Color = RGB(255, 255, 204)
         End With
[/vba]
или написать одним блоком
[vba]
Код
      With Range("Y2", "AE34")
              .FormatConditions.Delete
              .FormatConditions.Add Type:=xlExpression, Formula1:="=ЕНД(RC)+ЕНД(RC[6])"
              .FormatConditions(1).Interior.Color = RGB(255, 255, 204)
         End With
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Почему на русском?

Тезка, если честно, то я сам не совсем понял. Теоретически если, то должно быть на вражеском, а вот макрорекодер сказал, что на русском.
А с раскраской ща посмотрю.
Можно добавить блок
[vba]
Код
    With tmpRange.Offset(, -6)
              .FormatConditions.Delete
              .FormatConditions.Add Type:=xlExpression, Formula1:="=ЕОШИБКА(RC[+6])"
              .FormatConditions(1).Interior.Color = RGB(255, 255, 204)
         End With
[/vba]
или написать одним блоком
[vba]
Код
      With Range("Y2", "AE34")
              .FormatConditions.Delete
              .FormatConditions.Add Type:=xlExpression, Formula1:="=ЕНД(RC)+ЕНД(RC[6])"
              .FormatConditions(1).Interior.Color = RGB(255, 255, 204)
         End With
[/vba]

Автор - _Boroda_
Дата добавления - 22.01.2015 в 12:03
Vostok Дата: Четверг, 22.01.2015, 12:12 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
а вот макрорекодер сказал...

Вот едрёна вошь, а я про него постоянно забываю, хоть плакат жирными буквами перед глазами вешай :-) Хотя, правды ради у меня с условным форматированием в пользовательском интерфейсе с использованием формул ступор постоянно в голове возникает.


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"
 
Ответить
Сообщение
а вот макрорекодер сказал...

Вот едрёна вошь, а я про него постоянно забываю, хоть плакат жирными буквами перед глазами вешай :-) Хотя, правды ради у меня с условным форматированием в пользовательском интерфейсе с использованием формул ступор постоянно в голове возникает.

Автор - Vostok
Дата добавления - 22.01.2015 в 12:12
Vostok Дата: Четверг, 22.01.2015, 12:23 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Дописал там наверху

Там абракадабра закралась в формулу. Что там? ЕСЛИОШИБКА ???


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"

Сообщение отредактировал Vostok - Четверг, 22.01.2015, 12:27
 
Ответить
Сообщение
Дописал там наверху

Там абракадабра закралась в формулу. Что там? ЕСЛИОШИБКА ???

Автор - Vostok
Дата добавления - 22.01.2015 в 12:23
_Boroda_ Дата: Четверг, 22.01.2015, 12:25 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Что там?

Да все то же самое
ЕОШИБКА

Поправил


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Что там?

Да все то же самое
ЕОШИБКА

Поправил

Автор - _Boroda_
Дата добавления - 22.01.2015 в 12:25
Vostok Дата: Четверг, 22.01.2015, 12:28 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Да все то же самое
ЕОШИБКА

Ок, всё работает.


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"
 
Ответить
Сообщение
Да все то же самое
ЕОШИБКА

Ок, всё работает.

Автор - Vostok
Дата добавления - 22.01.2015 в 12:28
Vostok Дата: Среда, 28.01.2015, 10:39 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
В дополнении вопрос. Чтобы на Диаграмме не было дырок от присутствия #Н/Д в столбце таблицы, пришлось прибегнуть к подстановке данных предыдущего дня.
[vba]
Код
.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-6], Диапазон_3 , 2 , 0),R[1]C)"
[/vba]
В следствие чего #Н/Д из столбца исчезли, но даты которых нет в предыдущей таблице подсвечивать всё таки было-бы удобно.
Попробовал так:
[vba]
Код
With tmpRange.Offset(, -6) 'дополнительно подсвечиваем даты из 1-ого Столбца
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:="=ЕОШИБКА(VLOOKUP(RC[-6], Диапазон_3 , 2 , 0))"  
        .FormatConditions(1).Interior.Color = RGB(204, 204, 153)
End With
[/vba]
и так:
[vba]
Код
With tmpRange.Offset(, -6) 'дополнительно подсвечиваем даты из 1-ого Столбца
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:="=ЕОШИБКА(ВПР(RC[-6], Диапазон_3 , 2 , 0))"  
        .FormatConditions(1).Interior.Color = RGB(204, 204, 153)
End With
[/vba]
Не получается. Может есть решение?


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"
 
Ответить
СообщениеВ дополнении вопрос. Чтобы на Диаграмме не было дырок от присутствия #Н/Д в столбце таблицы, пришлось прибегнуть к подстановке данных предыдущего дня.
[vba]
Код
.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-6], Диапазон_3 , 2 , 0),R[1]C)"
[/vba]
В следствие чего #Н/Д из столбца исчезли, но даты которых нет в предыдущей таблице подсвечивать всё таки было-бы удобно.
Попробовал так:
[vba]
Код
With tmpRange.Offset(, -6) 'дополнительно подсвечиваем даты из 1-ого Столбца
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:="=ЕОШИБКА(VLOOKUP(RC[-6], Диапазон_3 , 2 , 0))"  
        .FormatConditions(1).Interior.Color = RGB(204, 204, 153)
End With
[/vba]
и так:
[vba]
Код
With tmpRange.Offset(, -6) 'дополнительно подсвечиваем даты из 1-ого Столбца
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:="=ЕОШИБКА(ВПР(RC[-6], Диапазон_3 , 2 , 0))"  
        .FormatConditions(1).Interior.Color = RGB(204, 204, 153)
End With
[/vba]
Не получается. Может есть решение?

Автор - Vostok
Дата добавления - 28.01.2015 в 10:39
krosav4ig Дата: Среда, 28.01.2015, 12:52 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
    With tmpRange.Offset(, -6).FormatConditions 'дополнительно подсвечиваем даты из 1-ого Столбца
          .Delete
          With .Add(2, , "=ЕОШИБКА(ВПР(RC;Диапазон_3;2;))")
              .Interior.Color = RGB(204, 204, 153)
          End With
      End With
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 28.01.2015, 12:59
 
Ответить
Сообщение[vba]
Код
    With tmpRange.Offset(, -6).FormatConditions 'дополнительно подсвечиваем даты из 1-ого Столбца
          .Delete
          With .Add(2, , "=ЕОШИБКА(ВПР(RC;Диапазон_3;2;))")
              .Interior.Color = RGB(204, 204, 153)
          End With
      End With
[/vba]

Автор - krosav4ig
Дата добавления - 28.01.2015 в 12:52
Vostok Дата: Среда, 28.01.2015, 14:12 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
И всё решение вопроса по Сути - точка с запятой в функции ВПР. Мало того, что её на русском языке в данном случае писать надо, да ещё и с точкой запятой. Никогда не догадаешься, если вот так никто не скажет. Спасибо за помощь.


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"
 
Ответить
СообщениеИ всё решение вопроса по Сути - точка с запятой в функции ВПР. Мало того, что её на русском языке в данном случае писать надо, да ещё и с точкой запятой. Никогда не догадаешься, если вот так никто не скажет. Спасибо за помощь.

Автор - Vostok
Дата добавления - 28.01.2015 в 14:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Условное форматирование по выражению (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!