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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2010, 06:17   #11
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Для активного листа выполните макрос:
Код:
Sub CellsColor()
    Dim cell As Range, a As Range: Application.ScreenUpdating = False
    Cells.Font.ColorIndex = 0: On Error Resume Next
    Cells.SpecialCells(xlCellTypeConstants, xlNumbers).Font.Bold = True
    For Each cell In Cells.SpecialCells(xlCellTypeFormulas)
        cell.Font.Bold = True: Set a = Range(Replace(cell.Formula, "=", ""))
        If a Is Nothing Then cell.Font.ColorIndex = 3 Else Set a = Nothing
        If UBound(Split(cell.Formula, "!")) > 0 Then cell.Font.ColorIndex = 5
    Next
End Sub
Пример во вложении.
Вложения
Тип файла: rar Покраска_2.rar (9.0 Кб, 33 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.02.2010, 10:30   #12
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

Спасибо. А нельзя ли сделать так, что бы ячейка сразу окрашивалась после каждого редактирования, ато постоянно вручную запускать макрос как-то не удобно

Последний раз редактировалось Tidus; 10.02.2010 в 10:38.
Tidus вне форума Ответить с цитированием
Старый 10.02.2010, 10:55   #13
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно. Пример во вложении. Попробуйте добавить на лист значение, формулу, ссылку на другой лист и т.п.
Вложения
Тип файла: rar Покраска_3.rar (10.1 Кб, 52 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 10.02.2010, 14:12   #14
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Можно. Пример во вложении. Попробуйте добавить на лист значение, формулу, ссылку на другой лист и т.п.
1. Добавляю на лист простое значение в ячейку с синим цветом шрифта, а оно не перекрашивает его в черный цвет.
2. Нельзя ли 1 макрос оставить, который распространяется на весь лист - я его буду вручную запускать. Но добавить 2 макрос, который уже отслеживал бы действия и раскрашивал бы только последнюю редактируемую ячейку, а не весь лист, ато при каждом обновлении всего листа бывает подтормаживает.

Последний раз редактировалось Tidus; 10.02.2010 в 14:16.
Tidus вне форума Ответить с цитированием
Старый 11.02.2010, 09:45   #15
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Так будет и правильно и быстро. При вводе новых значений (формул, ссылок и т.п.), обрабатываются не все, а только измененные ячейки. Допускается работа с диапазонами ячеек. А для первоначального окрашивания того, что уже имеется на листе, используйте предыдущий макрос. Можно его выполнять каждый раз, по событию открытия книги, но это ни к чему. Достаточно выполнить его 1 раз, запустив вручную.
Вложения
Тип файла: rar Покраска_4.rar (9.9 Кб, 41 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.02.2010, 20:25   #16
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

Спасибо.
1. Но всё же тормозит на секунду после каждого элементарного редактирования. Наверное тормозит из-за большого количества данных на листе. Хотя без макроса всё работает без тормозов.
2. И ещё этот макрос после действий в верхнем углу Экселя исчезает кнопка отмены и действия нельзя вернуть в исходное положение, что не дает возможности его использовать. В макросе от Эдукэшион такого не происходит. Обратите внимание.

Последний раз редактировалось Tidus; 11.02.2010 в 21:45.
Tidus вне форума Ответить с цитированием
Старый 15.02.2010, 14:19   #17
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

SAS888, реально ли ускорить работу макроса, что бы он не подвисал после каждого редактирования?
Tidus вне форума Ответить с цитированием
Старый 16.02.2010, 06:21   #18
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Предложенный макрос не должен "тормозить". Он обрабатывает только изменяемую ячейку (ячейки). Прикрепите проблемный файл - разберемся.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 22.02.2010, 15:42   #19
Каравай
Пользователь
 
Регистрация: 16.02.2010
Сообщений: 34
По умолчанию

А возможно ли стандартными способами окрашивать ячейку привязанную к списку в нужный цвет по условию? Допустим список - цифры с 1 до 10, если поставил с 1 до 5 - красный цвет, 6-10 - зелёный(пример просто)?
Вложения
Тип файла: rar Книга2.rar (1.6 Кб, 17 просмотров)
Каравай вне форума Ответить с цитированием
Старый 22.02.2010, 16:07   #20
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от Каравай Посмотреть сообщение
А возможно ли стандартными способами окрашивать ячейку привязанную к списку в нужный цвет по условию? Допустим список - цифры с 1 до 10, если поставил с 1 до 5 - красный цвет, 6-10 - зелёный(пример просто)?
См. пример.
Вложения
Тип файла: zip p_o_s_t.zip (1.9 Кб, 52 просмотров)
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение книги Excel по названию ячейки и по пути ячейки IFRSoff Microsoft Office Excel 16 07.06.2012 16:58
Как раскрасить в RichEdit часть сторки? Вадим Буренков Общие вопросы Delphi 3 06.07.2009 13:42
Как задать свойства ячейки в Excel? Dux Microsoft Office Excel 6 16.08.2008 17:03
Как раскрасить ячейку внутри StringGrid. GarfieldX Общие вопросы Delphi 5 14.02.2008 21:59
Как раскрасить ячейки StringGrid'а в разные цвета в соответствии с условием? monushka Компоненты Delphi 12 05.11.2007 23:44