Большой Воронежский Форум
» Программирование>вопрос по Excel
Baria 15:45 14.02.2007
Подскажите п, пожалуйста: "Как сделать так чтобы при определенном условии ячейка меняла цвет?"

Например: Если в ячейке А11 введена цифра "1", то ячейка B12 - имеет синий цвет!

Заранее благодарен за помощь!
[Ответ]
mmm666 09:02 15.02.2007
макросы?
зы... не переживай... те тут не помогут... [Ответ]
Yandex 10:51 15.02.2007
mmm666, ну почему же? ;-)

Если будет сормировано Определенное_Условие более точно, то можно попробовать написать. [Ответ]
mmm666 10:58 15.02.2007
Yandex, я по акцессу спрашивал - ниодного ответа. а было не так сложно [Ответ]
Baria 11:04 15.02.2007
Спасибо - уже помогли!
Если кому Интересно то есть несколько вариантов:
1. Простой и не требующий програмирования:Вкладка "Формат"->"Условное форматтировнаие", а там все понятее не придумаешь!
2. Как можно изменить цвет фона ячейки при момощи Visual Basic для приложений (Visual Basic for Applications, VBA):Необходимо использовать свойство ячейки Interior, а затем:
° Можно использовать функцию ColorIndex (чтобы использовать один из 56 «встроенных» цветов в Excel):
° ActiveCell.Interior.ColorIndex = 36
° Вы также можете использовать функцию Color:
° Range("A1:A6").Interior.Color = RGB(200,160,35)
http://office.microsoft.com/ru-ru/ex...CL100570551049 [Ответ]
builder 11:06 15.02.2007
В ОпенОфыс легко и просто: Формат->Условное форматирование. Такая же мулька есть в Excel2007. В более ранних версиях - не помню, может и не быть.
Проверить наличие такой фишки в старых версиях Excel не могу - собственноручно прибил сабж на всех офисных машинах
Ага, уже все разжевали
[Ответ]
Yandex 15:43 15.02.2007
mmm666, ну я Access совсем не знаю - пару раз запускал, а вот вариант на VBA для Excel скорее всего бы написал

Просто времени нет на работе, чтобы писать примерный код.
[Ответ]
shuri 16:10 15.02.2007

Сообщение от Baria:
Подскажите п, пожалуйста: "Как сделать так чтобы при определенном условии ячейка меняла цвет?"
Например: Если в ячейке А11 введена цифра "1", то ячейка B12 - имеет синий цвет!
Заранее благодарен за помощь!

Почти то, нет времени переделывать под выши нужды, надеюсь разберетесь
Sub SelectiveColor2()
' Окрашивание фона ячеек с отрицательными значениями в красный цвет

Dim FormulaCells As Range
Dim ConstantCells As Range
Dim cell As Range

Const REDINDEX = 3

' Игнорирование ошибок
On Error Resume Next

Application.ScreenUpdating = False

' Создание поддиапазонов выделения
Set FormulaCells = Selection.SpecialCells _
(xlFormulas, xlNumbers)
Set ConstantCells = Selection.SpecialCells _
(xlConstants, xlNumbers)

' Обработка ячеек с формулами
If Not FormulaCells Is Nothing Then
For Each cell In FormulaCells
If cell.Value < 0 Then _
cell.Font.ColorIndex = REDINDEX
Next cell
End If

' Обработка ячеек с константами
If Not ConstantCells Is Nothing Then
For Each cell In ConstantCells
If cell.Value < 0 Then
cell.Interior.ColorIndex = REDINDEX
Else
cell.Interior.ColorIndex = xlNone
End If
Next cell
End If
End Sub


Sub SelectiveColor1()
' Окрашивание фона ячеек с отрицательными значениями в красный цвет
Dim cell As Range

If TypeName(Selection) <> "Range" Then Exit Sub
Const REDINDEX = 3
Application.ScreenUpdating = False
For Each cell In Selection
If cell.Value < 0 Then
cell.Interior.ColorIndex = REDINDEX
Else
cell.Interior.ColorIndex = xlNone
End If
Next cell
End Sub
[Ответ]
Yandex 18:02 15.02.2007

Сообщение от :
Почти то, нет времени переделывать под выши нужды

Да ладно, понятно что нет времени даже прочитать весь топик [Ответ]
DimmaN 19:31 15.02.2007

Сообщение от Baria:
2. Как можно изменить цвет фона ячейки при момощи Visual Basic для приложений (Visual Basic for Applications, VBA):Необходимо использовать свойство ячейки Interior, а затем:
° Можно использовать функцию ColorIndex (чтобы использовать один из 56 «встроенных» цветов в Excel):
° ActiveCell.Interior.ColorIndex = 36
° Вы также можете использовать функцию Color:
° Range("A1:A6").Interior.Color = RGB(200,160,35)

Объясните мне, чудаку, а в какой момент ячейка будет окрашиваться? Тут жеж как я понял по событию (изменение значения) красить надо. В Ёкселе есть события? [Ответ]
Yandex 10:10 16.02.2007
DimmaN, есть.
Сервис - > Макрос -> Редактор Visual Basic
Выбираем в VBA Project - Эта Книга.
В редакторе General меняем на Workbook. Справа видим доступные события для книги. [Ответ]
DimmaN 11:07 16.02.2007
Yandex, ды класс! Спасибо... [Ответ]
Вверх