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

Вход

Регистрация

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

 

= Мир MS Excel/Заливка ячеек по условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка ячеек по условию (Макросы/Sub)
Заливка ячеек по условию
Сергей13 Дата: Среда, 18.07.2018, 00:23 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте.
Подскажите пожалуйста почему не работает условие.
На защищенном листе часть ячеек не имеет защиту, необходимо по условию выполнить выборочную заливку в не защищенных ячейках, для условия использую Selection.Locked = False, но данный код не срабатывает
[vba]
Код
Sub Color1()
      If Selection.Locked = False Then Selection.Interior.Color = 14281213
End Sub
[/vba]
 
Ответить
СообщениеЗдравствуйте.
Подскажите пожалуйста почему не работает условие.
На защищенном листе часть ячеек не имеет защиту, необходимо по условию выполнить выборочную заливку в не защищенных ячейках, для условия использую Selection.Locked = False, но данный код не срабатывает
[vba]
Код
Sub Color1()
      If Selection.Locked = False Then Selection.Interior.Color = 14281213
End Sub
[/vba]

Автор - Сергей13
Дата добавления - 18.07.2018 в 00:23
_Boroda_ Дата: Среда, 18.07.2018, 00:39 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А если циклом пробежаться?
[vba]
Код
Sub Color1()
    For Each d In Selection
        With d
            If .Locked = False Then .Interior.Color = 14281213
        End With
    Next d
End Sub
[/vba]
Можно засунуть всю кучу в Юнион и потом все сразу покрасить


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА если циклом пробежаться?
[vba]
Код
Sub Color1()
    For Each d In Selection
        With d
            If .Locked = False Then .Interior.Color = 14281213
        End With
    Next d
End Sub
[/vba]
Можно засунуть всю кучу в Юнион и потом все сразу покрасить

Автор - _Boroda_
Дата добавления - 18.07.2018 в 00:39
Сергей13 Дата: Среда, 18.07.2018, 00:51 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, Понял, сама защита листа не дает выполнить код, поэтому только так
[vba]
Код
Sub Color1()
    ActiveSheet.Unprotect
    For Each d In Selection
        With d
            If .Locked = False Then .Interior.Color = 14281213
        End With
    Next d
    ActiveSheet.Protect
End Sub
[/vba]
[vba]
Код
Sub Color1()
    ActiveSheet.Unprotect
    If Selection.Locked = False Then Selection.Interior.Color = 14281213
    ActiveSheet.Protect
End Sub
[/vba]
Большое спасибо _Boroda_
 
Ответить
Сообщение_Boroda_, Понял, сама защита листа не дает выполнить код, поэтому только так
[vba]
Код
Sub Color1()
    ActiveSheet.Unprotect
    For Each d In Selection
        With d
            If .Locked = False Then .Interior.Color = 14281213
        End With
    Next d
    ActiveSheet.Protect
End Sub
[/vba]
[vba]
Код
Sub Color1()
    ActiveSheet.Unprotect
    If Selection.Locked = False Then Selection.Interior.Color = 14281213
    ActiveSheet.Protect
End Sub
[/vba]
Большое спасибо _Boroda_

Автор - Сергей13
Дата добавления - 18.07.2018 в 00:51
_Boroda_ Дата: Среда, 18.07.2018, 01:09 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Можно при ручной защите ставить галку на разрешение форматирования ячеек
Или защищать лист макросом с разрешением их (макросов) работы. Почитайте эту тему http://www.excelworld.ru/forum/10-16909-1


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМожно при ручной защите ставить галку на разрешение форматирования ячеек
Или защищать лист макросом с разрешением их (макросов) работы. Почитайте эту тему http://www.excelworld.ru/forum/10-16909-1

Автор - _Boroda_
Дата добавления - 18.07.2018 в 01:09
Сергей13 Дата: Среда, 18.07.2018, 01:11 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, Благодарю
 
Ответить
Сообщение_Boroda_, Благодарю

Автор - Сергей13
Дата добавления - 18.07.2018 в 01:11
Spike6459 Дата: Среда, 12.08.2020, 13:24 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте! Помогите пожалуйста решить задачку: имеется список артикулов, каждый из которых внесен в отдельную ячейку; напротив каждого артикула есть код цвета RGB. Задача: залить ячейку соответствующим цветом. Подскажите как это сделать?
К сообщению приложен файл: 503269874.xlsx (29.9 Kb)
 
Ответить
СообщениеЗдравствуйте! Помогите пожалуйста решить задачку: имеется список артикулов, каждый из которых внесен в отдельную ячейку; напротив каждого артикула есть код цвета RGB. Задача: залить ячейку соответствующим цветом. Подскажите как это сделать?

Автор - Spike6459
Дата добавления - 12.08.2020 в 13:24
Pelena Дата: Среда, 12.08.2020, 13:36 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19165
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Spike6459, прочитайте Правила форума и создайте свою тему. Эта тема закрыта


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеSpike6459, прочитайте Правила форума и создайте свою тему. Эта тема закрыта

Автор - Pelena
Дата добавления - 12.08.2020 в 13:36
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка ячеек по условию (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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