|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.06.2011, 12:46 | #1 |
Новичок
Джуниор
Регистрация: 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 И вроде почти подходит, только как в нём прописать "-" и что бы при изменении числа в дальнейшем, цвет сразу менялся. Спасибо |
08.06.2011, 13:12 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
пишите что-нибудь в колонку 3... (без макросов, условное форматирование)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
09.06.2011, 11:39 | #3 |
Новичок
Джуниор
Регистрация: 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. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос для объединения ячеек 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 |