Страницы: 1
RSS
Макрос заливающий ячейку красным цветом по условию
 
Здравствуйте. Есть формула, она нужна для проверки нумерации, если первое число не равно 1 (ноля не может быть), то формула пишет Аларм, а потом я в ручную заливаю ячейку красным цветом. Если равно 1 то ничего не пишет, и ни какой заливки не нужно.
Код
=ЕСЛИ($B$2<>1;"Аларм";"")
Вопрос: можно ли из этой формулы сделать макрос, который будет сам заливать ячейку красным, если число в $B$2 не равно 1, чтоб макрос срабатывал на активном листе. Сама формула находиться в ячейке G1 и там же макрос выводил бы Аларм
 
можно, а зачем это нужно? если это задача для УФ
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
На мой взгляд макросом удобней, в реальной задаче 50 листов плюс минус, чтоб все не форматировать выбрал макрос и всё посчиталось.
Изменено: zvolkz - 14.06.2022 07:54:54
 
что в 50 листов скопировать макрос, что ячейку с настроенным мною условным форматом
а) это нужно сделать 1 раз
б) приблизительно одно и тоже по времени
в) а функционально - это условное форматирование
Цитата
zvolkz написал:
чтоб макрос срабатывал на активном листе
Цитата
zvolkz написал:
макросом удобней, в реальной задаче 50 листов плюс минус, чтоб все не форматировать выбрал макрос и всё посчиталось
да, удобнее)) согласно предыдущего п. ТЗ макрос срабатывает ТОЛЬКО на активном листе, выбрали по очереди 50 листов и все пересчитали. очень удобно) но вам безусловно виднее как удобно, а как нет
Код
Sub FillB2()
  If [b2] <> 1 Then [b2].Interior.Color = 255
End Sub
Изменено: Ігор Гончаренко - 14.06.2022 08:38:05
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
да, удобнее)) согласно предыдущего п. ТЗ макрос срабатывает ТОЛЬКО на активном листе, выбрали по очереди 50 листов и все пересчитали. очень удобно)
Если возможно сделать так чтоб он сразу на всех листах в книге срабатывал, и если это не сложно сделать, то будет замечательно.  
 
Опоздал с цитатой, Вы уже макрос написали. Проверил он работает.  
 
))
Код
Sub FillB2s()
  Dim ws As Worksheet
  For Each ws In Worksheets
    If ws.[b2] <> 1 Then ws.[b2].Interior.Color = 255
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Большое спасибо за помощь.  
 
да как бы это по-мягче: какое ТЗ - такая и помочь
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх