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

Вход

Регистрация

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

 

= Мир MS Excel/Закрасить одинаковые ячейки в двух столбцах - Мир MS Excel

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

Excel 2007
Коллеги, добрый день!
Подскажите, пожалуйста, кто-то сталивался с задачей работы макроса и изменению цвета ячеек при определенном условии?

Мой пример:
В тестовом файле при открытии файла необходимо закрашивать все ячейки белым цветом в столбцах А,В,Е,F по следующему условию:

1) В столбцах А,В: Если значение ячейки столбца А равно значению ячейки столбца B (Например, А3 = В3)
2) В столбцах E,F: Если значение ячейки столбца E равно значению ячейки столбца F (Например, E3 = F3)

2 макрос - закрасить все ячейки всех столбцов в черный цвет (начиная с определенной строки)

Как выполнить задание с помощью условного форматирования я знаю, здесь принципиально использовать макрос, так как закрашивание в белый цвет и возвращение к предыдущему формату файла я хочу привязать к элементам формы.

Во вложении тестовый файл.
Заранее благодарю за помощь!
К сообщению приложен файл: TestMacro.xlsm(9Kb)
 
Ответить
СообщениеКоллеги, добрый день!
Подскажите, пожалуйста, кто-то сталивался с задачей работы макроса и изменению цвета ячеек при определенном условии?

Мой пример:
В тестовом файле при открытии файла необходимо закрашивать все ячейки белым цветом в столбцах А,В,Е,F по следующему условию:

1) В столбцах А,В: Если значение ячейки столбца А равно значению ячейки столбца B (Например, А3 = В3)
2) В столбцах E,F: Если значение ячейки столбца E равно значению ячейки столбца F (Например, E3 = F3)

2 макрос - закрасить все ячейки всех столбцов в черный цвет (начиная с определенной строки)

Как выполнить задание с помощью условного форматирования я знаю, здесь принципиально использовать макрос, так как закрашивание в белый цвет и возвращение к предыдущему формату файла я хочу привязать к элементам формы.

Во вложении тестовый файл.
Заранее благодарю за помощь!

Автор - andruha912009
Дата добавления - 04.08.2016 в 20:49
RAN Дата: Четверг, 04.08.2016, 20:57 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4419
Репутация: 872 ±
Замечаний: 0% ±

2010
Ошибочка вышла :(


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Четверг, 04.08.2016, 21:01
 
Ответить
СообщениеОшибочка вышла :(

Автор - RAN
Дата добавления - 04.08.2016 в 20:57
RAN Дата: Четверг, 04.08.2016, 21:18 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4419
Репутация: 872 ±
Замечаний: 0% ±

2010
Исправляю
[vba]
Код
Sub мяу()
    Dim cel As Range
    For Each cel In Intersect(ActiveSheet.UsedRange, Columns("A"))
        If cel = cel.Next Then cel.Resize(, 2).Interior.Color = vbRed
    Next
    For Each cel In Intersect(ActiveSheet.UsedRange, Columns("E"))
        If cel = cel.Next Then cel.Resize(, 2).Interior.Color = vbRed
    Next
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИсправляю
[vba]
Код
Sub мяу()
    Dim cel As Range
    For Each cel In Intersect(ActiveSheet.UsedRange, Columns("A"))
        If cel = cel.Next Then cel.Resize(, 2).Interior.Color = vbRed
    Next
    For Each cel In Intersect(ActiveSheet.UsedRange, Columns("E"))
        If cel = cel.Next Then cel.Resize(, 2).Interior.Color = vbRed
    Next
End Sub
[/vba]

Автор - RAN
Дата добавления - 04.08.2016 в 21:18
andruha912009 Дата: Четверг, 04.08.2016, 21:22 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
RAN,

Спасибо большое!
Работает!

Подскажите, еще, пожалуйста, а можно изменить цвет шрифта, а не заливку ячейки?
Можете еще подсказать, как после этого вернуть черный шрифт для всех ячеек листа, начиная со 2 строки?

Спасибо
 
Ответить
СообщениеRAN,

Спасибо большое!
Работает!

Подскажите, еще, пожалуйста, а можно изменить цвет шрифта, а не заливку ячейки?
Можете еще подсказать, как после этого вернуть черный шрифт для всех ячеек листа, начиная со 2 строки?

Спасибо

Автор - andruha912009
Дата добавления - 04.08.2016 в 21:22
Manyasha Дата: Четверг, 04.08.2016, 22:32 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 1832
Репутация: 766 ±
Замечаний: 0% ±

Excel 2007, 2010
andruha912009, здравствуйте.
изменить цвет шрифта, а не заливку ячейки

вместо Interior.Color напишите Font.Color
вернуть черный шрифт для всех ячеек листа

[vba]
Код
With ActiveSheet.UsedRange
    Cells(2, "a").Resize(.Rows.Count, .Columns.Count).Font.Color = 0
End With
[/vba]


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеandruha912009, здравствуйте.
изменить цвет шрифта, а не заливку ячейки

вместо Interior.Color напишите Font.Color
вернуть черный шрифт для всех ячеек листа

[vba]
Код
With ActiveSheet.UsedRange
    Cells(2, "a").Resize(.Rows.Count, .Columns.Count).Font.Color = 0
End With
[/vba]

Автор - Manyasha
Дата добавления - 04.08.2016 в 22:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Закрасить одинаковые ячейки в двух столбцах (Макросы/Sub)
Страница 1 из 11
Поиск:

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