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

Вход

Регистрация

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

 

= Мир MS Excel/Запись формулы в УФ макросом - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись формулы в УФ макросом (Макросы/Sub)
Запись формулы в УФ макросом
sboy Дата: Вторник, 09.08.2016, 17:52 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация: 49 ±
Замечаний: 0% ±

Excel 2007
Добрый день.
Столкнулся с проблемой записи формулы условного форматирования с помощью макроса.
С помощью рекодера записал УФ (3 стрелочки) ячейки E4
[vba]
Код
Sub Макрос12()
    Range("E4").Select
    Selection.FormatConditions.AddIconSetCondition
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1)
        .ReverseOrder = False
        .ShowIconOnly = False
        .IconSet = ActiveWorkbook.IconSets(xl3Arrows)
    End With
    With Selection.FormatConditions(1).IconCriteria(2)
        .Type = xlConditionValueFormula
        .Value = "=$D$4/$E$1*$E$2*0,8"
        .Operator = 7
    End With
    With Selection.FormatConditions(1).IconCriteria(3)
        .Type = xlConditionValueFormula
        .Value = "=$D$4/$E$1*$E$2"
        .Operator = 7
    End With
End Sub
[/vba]
код к сожалению оказался не рабочим, ругается на строку[vba]
Код
.Value = "=$D$4/$E$1*$E$2*0,8"
[/vba]
путем научного тыка убрал знак = перед $D$4, макрос стал работать, но УФ оказалось не рабочим
в правиле УФ формула вносится с кавычками
Код
="$D$4/$E$1*$E$2*0,8"

Кто знает как правильно ввести формулу в УФ или как оттуда убрать кавычки)))?
В файле примера в E4 работающий УФ, в E5 записанный макросом.
К сообщению приложен файл: 5824651.xlsm(17Kb)
 
Ответить
СообщениеДобрый день.
Столкнулся с проблемой записи формулы условного форматирования с помощью макроса.
С помощью рекодера записал УФ (3 стрелочки) ячейки E4
[vba]
Код
Sub Макрос12()
    Range("E4").Select
    Selection.FormatConditions.AddIconSetCondition
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1)
        .ReverseOrder = False
        .ShowIconOnly = False
        .IconSet = ActiveWorkbook.IconSets(xl3Arrows)
    End With
    With Selection.FormatConditions(1).IconCriteria(2)
        .Type = xlConditionValueFormula
        .Value = "=$D$4/$E$1*$E$2*0,8"
        .Operator = 7
    End With
    With Selection.FormatConditions(1).IconCriteria(3)
        .Type = xlConditionValueFormula
        .Value = "=$D$4/$E$1*$E$2"
        .Operator = 7
    End With
End Sub
[/vba]
код к сожалению оказался не рабочим, ругается на строку[vba]
Код
.Value = "=$D$4/$E$1*$E$2*0,8"
[/vba]
путем научного тыка убрал знак = перед $D$4, макрос стал работать, но УФ оказалось не рабочим
в правиле УФ формула вносится с кавычками
Код
="$D$4/$E$1*$E$2*0,8"

Кто знает как правильно ввести формулу в УФ или как оттуда убрать кавычки)))?
В файле примера в E4 работающий УФ, в E5 записанный макросом.

Автор - sboy
Дата добавления - 09.08.2016 в 17:52
Manyasha Дата: Вторник, 09.08.2016, 18:35 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1589
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
sboy, макрорекордер говорит, что нужно с указанием листа писать)
[vba]
Код
.Value = "=Лист1!$D$4/Лист1!$E$1*Лист1!$E$2*0,8"
[/vba]
К сообщению приложен файл: 5824651-1.xlsm(15Kb)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеsboy, макрорекордер говорит, что нужно с указанием листа писать)
[vba]
Код
.Value = "=Лист1!$D$4/Лист1!$E$1*Лист1!$E$2*0,8"
[/vba]

Автор - Manyasha
Дата добавления - 09.08.2016 в 18:35
RAN Дата: Вторник, 09.08.2016, 18:36 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
[vba]
Код
        stFormula1 = "=$D$" & y & "/$E$1*$E$2*0,8"
        stFormula2 = "=$D$" & y & "/$E$1*$E$2"
[/vba]
В 2010 все работает.
А с 2007 гораздо хуже. С год назад была проблема вставки формулы УФ макросом, решение под 2007 нашел Борода.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
        stFormula1 = "=$D$" & y & "/$E$1*$E$2*0,8"
        stFormula2 = "=$D$" & y & "/$E$1*$E$2"
[/vba]
В 2010 все работает.
А с 2007 гораздо хуже. С год назад была проблема вставки формулы УФ макросом, решение под 2007 нашел Борода.

Автор - RAN
Дата добавления - 09.08.2016 в 18:36
sboy Дата: Вторник, 09.08.2016, 18:47 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация: 49 ±
Замечаний: 0% ±

Excel 2007
Manyasha, не помогло( ваш файл все равно ошибку у меня выдает. Видимо, что-то с версией Экселя у меня не-то((( печалька
 
Ответить
СообщениеManyasha, не помогло( ваш файл все равно ошибку у меня выдает. Видимо, что-то с версией Экселя у меня не-то((( печалька

Автор - sboy
Дата добавления - 09.08.2016 в 18:47
sboy Дата: Вторник, 09.08.2016, 18:48 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация: 49 ±
Замечаний: 0% ±

Excel 2007
решение под 2007 нашел Борода

именно 2007 у меня, а где найти это решение???
 
Ответить
Сообщение
решение под 2007 нашел Борода

именно 2007 у меня, а где найти это решение???

Автор - sboy
Дата добавления - 09.08.2016 в 18:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись формулы в УФ макросом (Макросы/Sub)
Страница 1 из 11
Поиск:

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