Программно исправить формулу в УФ
Mexo
Дата: Среда, 01.11.2017, 16:53 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Здравствуйте! Есть ячейка, которая содержит 100 правил Условного форматирования. Во всех формулах УФ нужно заменить ссылку на диапазон (O:O на AB:AB). Вручную делать долго, поэтому попытался сделать это в VBA: [vba]Код
Макрос1() With Range("A1").FormatConditions(1) .Formula1: Replace = "O:O": Replacement = "AB:AB" .FormatConditions(1).StopIfTrue = False End With End Sub
[/vba] Но при запуске макроса выдает ошибку. Помогите построить код. Заранее благодарю.
Здравствуйте! Есть ячейка, которая содержит 100 правил Условного форматирования. Во всех формулах УФ нужно заменить ссылку на диапазон (O:O на AB:AB). Вручную делать долго, поэтому попытался сделать это в VBA: [vba]Код
Макрос1() With Range("A1").FormatConditions(1) .Formula1: Replace = "O:O": Replacement = "AB:AB" .FormatConditions(1).StopIfTrue = False End With End Sub
[/vba] Но при запуске макроса выдает ошибку. Помогите построить код. Заранее благодарю. Mexo
Ответить
Сообщение Здравствуйте! Есть ячейка, которая содержит 100 правил Условного форматирования. Во всех формулах УФ нужно заменить ссылку на диапазон (O:O на AB:AB). Вручную делать долго, поэтому попытался сделать это в VBA: [vba]Код
Макрос1() With Range("A1").FormatConditions(1) .Formula1: Replace = "O:O": Replacement = "AB:AB" .FormatConditions(1).StopIfTrue = False End With End Sub
[/vba] Но при запуске макроса выдает ошибку. Помогите построить код. Заранее благодарю. Автор - Mexo Дата добавления - 01.11.2017 в 16:53
Gustav
Дата: Среда, 01.11.2017, 17:11 |
Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2843
Репутация:
1194
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Я бы сказал, что надо как-то так (сам не проверял!): [vba]Код
Dim fc As FormatCondition For Each fc In Range("A1").FormatConditions fc.Formula1 = Replace(fc.Formula1, "O:O", "AB:AB") Next fc
[/vba]
Я бы сказал, что надо как-то так (сам не проверял!): [vba]Код
Dim fc As FormatCondition For Each fc In Range("A1").FormatConditions fc.Formula1 = Replace(fc.Formula1, "O:O", "AB:AB") Next fc
[/vba] Gustav
МОИ: Ник , Tip box: 41001663842605
Сообщение отредактировал Gustav - Среда, 01.11.2017, 17:16
Ответить
Сообщение Я бы сказал, что надо как-то так (сам не проверял!): [vba]Код
Dim fc As FormatCondition For Each fc In Range("A1").FormatConditions fc.Formula1 = Replace(fc.Formula1, "O:O", "AB:AB") Next fc
[/vba] Автор - Gustav Дата добавления - 01.11.2017 в 17:11
nilem
Дата: Среда, 01.11.2017, 17:26 |
Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация:
563
±
Замечаний:
0% ±
Excel 2013, 2016
или попробуйте как-то так [vba]Код
Sub Макрос1() With Range("E3:E12").FormatConditions(1) 'в E3:E12 меняем формулу УФ с Е на G .Modify xlExpression, , Replace(.Formula1, "E", "G") End With End Sub
[/vba]
или попробуйте как-то так [vba]Код
Sub Макрос1() With Range("E3:E12").FormatConditions(1) 'в E3:E12 меняем формулу УФ с Е на G .Modify xlExpression, , Replace(.Formula1, "E", "G") End With End Sub
[/vba] nilem
Яндекс.Деньги 4100159601573
Ответить
Сообщение или попробуйте как-то так [vba]Код
Sub Макрос1() With Range("E3:E12").FormatConditions(1) 'в E3:E12 меняем формулу УФ с Е на G .Modify xlExpression, , Replace(.Formula1, "E", "G") End With End Sub
[/vba] Автор - nilem Дата добавления - 01.11.2017 в 17:26
_Boroda_
Дата: Среда, 01.11.2017, 17:30 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16907
Репутация:
6615
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
[vba]Код
Sub tttt() For Each fc_ In Range("A1").FormatConditions fc_.Modify xlExpression, , Replace(fc_.Formula1, "H", "O") Next fc_ End Sub
[/vba]
[vba]Код
Sub tttt() For Each fc_ In Range("A1").FormatConditions fc_.Modify xlExpression, , Replace(fc_.Formula1, "H", "O") Next fc_ End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение [vba]Код
Sub tttt() For Each fc_ In Range("A1").FormatConditions fc_.Modify xlExpression, , Replace(fc_.Formula1, "H", "O") Next fc_ End Sub
[/vba] Автор - _Boroda_ Дата добавления - 01.11.2017 в 17:30
Mexo
Дата: Среда, 01.11.2017, 22:06 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
В данном примере нужно во всех формулах УФ заменить O:O на AB:AB, но выдает ошибку. Может из-за того что формул много в ячейке?
В данном примере нужно во всех формулах УФ заменить O:O на AB:AB, но выдает ошибку. Может из-за того что формул много в ячейке? Mexo
К сообщению приложен файл:
ZZZ.xlsm
(34.1 Kb)
Ответить
Сообщение В данном примере нужно во всех формулах УФ заменить O:O на AB:AB, но выдает ошибку. Может из-за того что формул много в ячейке? Автор - Mexo Дата добавления - 01.11.2017 в 22:06
InExSu
Дата: Среда, 01.11.2017, 22:24 |
Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 650
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Попробуйте убрать [vba][/vba] А лучше объявите [vba]Код
Dim fc_ As FormatCondition
[/vba]
Попробуйте убрать [vba][/vba] А лучше объявите [vba]Код
Dim fc_ As FormatCondition
[/vba]InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Сообщение отредактировал InExSu - Среда, 01.11.2017, 22:34
Ответить
Сообщение Попробуйте убрать [vba][/vba] А лучше объявите [vba]Код
Dim fc_ As FormatCondition
[/vba]Автор - InExSu Дата добавления - 01.11.2017 в 22:24
Mexo
Дата: Среда, 01.11.2017, 22:32 |
Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Так сработало, большое спасибо!
Так сработало, большое спасибо! Mexo
Ответить
Сообщение Так сработало, большое спасибо! Автор - Mexo Дата добавления - 01.11.2017 в 22:32