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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2010, 04:17   #1
LexxSakhalin
Пользователь
 
Регистрация: 07.09.2010
Сообщений: 20
По умолчанию Цвет ячейки

Надо написать формулу, которая будет менять цвет ячейки, в которую она вставлена. Обязательно VBA.
LexxSakhalin вне форума Ответить с цитированием
Старый 08.09.2010, 05:58   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Надо написать формулу, которая будет менять цвет ячейки, в которую она вставлена. Обязательно VBA.
Это невозможно. Формула Excel, как и функция VBA возвращают значения. Свойства ячейки (диапазона) можно изменить либо с помощью условного форматирования, либо макросом, который можно запускать по требуемому событию. Например, при совпадении значения ячейки с определенным значением и т.п.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 08.09.2010, 06:36   #3
LexxSakhalin
Пользователь
 
Регистрация: 07.09.2010
Сообщений: 20
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Это невозможно. Формула Excel, как и функция VBA возвращают значения. Свойства ячейки (диапазона) можно изменить либо с помощью условного форматирования, либо макросом, который можно запускать по требуемому событию. Например, при совпадении значения ячейки с определенным значением и т.п.
Все сделал. Пришлось кнопку прилепить с макросом:
Sub GMZ_svet()

For i = 4 To 100
For m = 13 To 100
Cells(i, m).Interior.ColorIndex = 2

If Cells(i, m).HasFormula = True Then
Cells(i, m).Interior.ColorIndex = 45
End If

If Cells(i, m).Value = "Х" Then
Cells(i, m).Interior.ColorIndex = 15
End If

If Cells(i, m).HasFormula = falce Then
Cells(i, m).Interior.ColorIndex = 4
End If

If Cells(i, m).Value = "" Then
Cells(i, m).Interior.ColorIndex = 2
End If
Next m
Next i
End Sub
LexxSakhalin вне форума Ответить с цитированием
Старый 08.09.2010, 10:40   #4
alebed
Пользователь
 
Аватар для alebed
 
Регистрация: 26.05.2010
Сообщений: 77
По умолчанию

Можно упростить,

к примеру для наличия формул

Select Case Cells(i, m).HasFormula
Case Is = True
Cells(i, m).Interior.ColorIndex = 45
Case Else
Cells(i, m).Interior.ColorIndex = 4
End Select

или в привязке к различным значениям

Select Case Cells(i, m).Value
Case Is = "X"
Cells(i, m).Interior.ColorIndex = 15
Case Is = "Y"
Cells(i, m).Interior.ColorIndex = 3
Case Is = ""
Cells(i, m).Interior.ColorIndex = 2
End Select
Спасибо и Пасибы принимаются на WebMoney в американских Z143254902288 или русских R388611339241 монетах
alebed вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одинаковые ячейки окрасить в одинаковий цвет m_v_v Microsoft Office Excel 4 28.06.2012 19:50
Убрать цвет ячейки Гошик Microsoft Office Excel 1 16.06.2010 08:51
Цвет ячейки АлёнаP Microsoft Office Excel 4 29.03.2010 12:18
цвет ячейки как поменять? zander Microsoft Office Access 8 10.03.2010 22:46
как изменять цвет ячейки в зависимости от условий ? Витёк Microsoft Office Excel 2 19.06.2007 13:10