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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 15:35   #1
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию Цвет шрифта в ячейке

Помогите составить условие
Если в ячейке C1 значение >=0 (меньше или равно 0)
то шрифт в ячейке B1 красный, иначе синий
kzld вне форума Ответить с цитированием
Старый 07.12.2009, 15:46   #2
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

Так все же меньше равно(<=) или больше равно(>=)?
Не бывает сложных задач, бывают сложные решения
Xpoft вне форума Ответить с цитированием
Старый 07.12.2009, 15:51   #3
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

а так вообще вот:
If Cells(1, 1).Value <= 0 Then ' если меньше либо равно 0
Cells(1, 1).Font.Color = -16776961 'красный
Else: Cells(1, 1).Font.Color = -4165632 'синий
End If
Не бывает сложных задач, бывают сложные решения
Xpoft вне форума Ответить с цитированием
Старый 07.12.2009, 16:01   #4
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию

Цитата:
Сообщение от Xpoft Посмотреть сообщение
Так все же меньше равно(<=) или больше равно(>=)?
Извиняюсь <= (правильно так)
kzld вне форума Ответить с цитированием
Старый 07.12.2009, 16:04   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Поправочка. Лучше использовать в данном случае либо константы RGB, либо colorIndex, иначе может возникнуть ошибка.
Код:
If Cells(1, 3).Value < 0 Then Cells(1, 3).Font.Color = vbRed Else Cells(1, 3).Font.Color = vbBlue
Код:
If Cells(1, 3).Value < 0 Then Cells(1, 3).Font.ColorIndex = 3 Else Cells(1, 3).Font.ColorIndex = 5
А можно и без макросов. Просто воспользоваться Условным Форматированием. Формулы:
Код:
=C1<0
=C1>=0
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 07.12.2009, 16:06   #6
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию

Цитата:
Сообщение от Xpoft Посмотреть сообщение
а так вообще вот:
If Cells(1, 1).Value <= 0 Then ' если меньше либо равно 0
Cells(1, 1).Font.Color = -16776961 'красный
Else: Cells(1, 1).Font.Color = -4165632 'синий
End If
Прошу помощи
Если не затруднит, напишите полный текст макроса и куда его "воткнуть"
kzld вне форума Ответить с цитированием
Старый 07.12.2009, 16:11   #7
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от kzld Посмотреть сообщение
Прошу помощи
Если не затруднит, напишите полный текст макроса и куда его "воткнуть"
Открою секрет - это и есть полный текст макроса. Вам надо только создать модуль и процедуру и скопирвоать туда этот код.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 07.12.2009, 16:27   #8
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Открою секрет - это и есть полный текст макроса. Вам надо только создать модуль и процедуру и скопирвоать туда этот код.
Модуль создал
Скопировал-не работает.
Что такое процедура? И как она обзывается на английском ?
kzld вне форума Ответить с цитированием
Старый 07.12.2009, 16:34   #9
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Я кажись понял. Вы не можете сразу объяснить человеческим языком что надо? Чтоб в режиме он-лайн, при вводе данных в ячейку менялся цвет?
Вот макрос
Код:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address(0, 0) <> "C1" Then Exit Sub
If Target < 0 Then Target.Font.Color = vbRed Else Target.Font.Color = vbBlue
End Sub
Копируете код. Щелкаете правой кнопкой мыши по ярлычку лита, на котором хотите отслеживать изменения. Выбираете Исходный текст и вставляете данный код. Пробуете.

А уж если настолько не в ладах с макросами, лучше воспользуйтесь моим советом и примените Условное форматирование. Что это такое и где его найти можно почитать на Офф.сайте или в справке Excel.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 07.12.2009, 16:34   #10
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

А что такое процедура и как они еще обзываются читайте в учебниках VBA.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru

Последний раз редактировалось The_Prist; 07.12.2009 в 16:36.
The_Prist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цвет шрифта таблицы DBGrid doniyor Помощь студентам 5 24.03.2010 19:01
Каким образом можно изменять цвет фона и цвет шрифта в Label? jungle Win Api 17 21.09.2009 00:38
Поменять цвет шрифта в CheckBox RIO Общие вопросы Delphi 7 10.08.2009 23:02
Цвет шрифта в Button chingiz Компоненты Delphi 5 02.09.2007 02:39
Как изменить цвет шрифта кнопки + объявление OnClick Yury Общие вопросы Delphi 7 04.05.2007 04:55