Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2011, 12:46   #1
pautina13
Новичок
Джуниор
 
Регистрация: 07.06.2011
Сообщений: 2
По умолчанию Макрос для раскраски ячеек

Здравствуйте. Требуется Ваша помощь.

Суть такая, есть отчёты, по строке R1C*n идут даты, ставятся они когда появляется данные. По столбцу R*nC1 идут названия, в ячейка к дате и названию забиваются числа. Нужно подкрасить ячейки, если меньше такого-то числа один цвет, если выше такого-то то другой цвет, если "-" то цвет должен совпадать с выше такого-то числа.
Т.е. например если числа равны или меньше 5 то например зелёный, если больше 5 то красный, если "-" то тоже красный. И при забивании числа или прочерка сразу применялся цвет (по возможности) что бы при замене на ходу, сразу видно было цветовую динамику.


Нашёл вот такой вот макрос

Sub Zalivka()
Dim x As Range, y As Range, z As Range
Application.ScreenUpdating = False: On Error Resume Next
Set x = Cells.SpecialCells(xlCellTypeConsta nts, xlNumbers)
Set y = Cells.SpecialCells(xlCellTypeFormul as, xlNumbers)
Set z = Union(x, y)
If x Is Nothing Then Set z = y
If y Is Nothing Then Set z = x
For Each Cell In z
If Cell.Value <= 10 Then Cell.Interior.ColorIndex = 6
If Cell.Value >= 11 Then Cell.Interior.ColorIndex = 3
Next
Set x = Nothing: Set y = Nothing: Set z = Nothing
End Sub

И вроде почти подходит, только как в нём прописать "-" и что бы при изменении числа в дальнейшем, цвет сразу менялся.
Спасибо
pautina13 вне форума Ответить с цитированием
Старый 08.06.2011, 13:12   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

пишите что-нибудь в колонку 3... (без макросов, условное форматирование)
Вложения
Тип файла: rar Книга685.rar (3.0 Кб, 17 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 09.06.2011, 11:39   #3
pautina13
Новичок
Джуниор
 
Регистрация: 07.06.2011
Сообщений: 2
По умолчанию

Хотелось бы всё таки в автоматическом режиме без условного форматирования, когда много полей и много чисел и "-" (прочерков) не очень то и удобно.
можно и фильтрами условия задавать...
Макрос, который указан мною выше идеален, но как туда вставить "-"

есть
Sub Zalivka()

For Each Cell In Selection.Cells
If Cell.Value <= 10 Then Cell.Interior.ColorIndex = 0
If Cell.Value >= 11 Then Cell.Interior.ColorIndex = 22
If Cell.Value = "-" Then Cell.Interior.ColorIndex = 22
Next
ActiveSheet.Range("A:Z").Columns.Au toFit

End Sub

Но тут надо выделять области которые будут закрашены

Последний раз редактировалось pautina13; 09.06.2011 в 11:47.
pautina13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для объединения ячеек Excel wadzik Microsoft Office Excel 12 24.10.2017 21:32
Макрос для редактирования текста ячеек T_i_m_o_n Microsoft Office Excel 2 23.02.2011 22:53
Макрос: удаление повторяющихся ячеек Shpr0T Microsoft Office Excel 9 28.08.2010 14:14
Макрос для объединения одинаковых ячеек Internal2 Microsoft Office Excel 2 05.11.2009 14:00
макрос - подсчитать для каждой строки кол-во ячеек с «+», кол-во ячеек с «-» Vadim_abs Microsoft Office Excel 36 14.07.2009 12:08