условное форматирование

Программирование на Visual Basic for Applications
sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

условное форматирование

Сообщение sonata » 14.05.2003 (Ср) 14:21

Есть такая возвожность в Excel как условное форматирование,
так вот, можно ли там задать условие, если значение ячейки
содержим сочетание символов ЭС, то красит фон желтым цветом?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.05.2003 (Ср) 14:29

Да можно.

Format\Conditional formatting

Cell value is | Equal to | ЭС

Fotmat...\Shading выбираешь нужный цвет.

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 14.05.2003 (Ср) 15:00

Спасибо за ответ!
Но я имею в виду простое меню в Excel, условное форматирование,
там есть условие: значение и формула, как так прописать(задать) мое условие?Очень прошу, подскажите!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.05.2003 (Ср) 15:21

Люблю я эти диалоги... :wink:

RayShade же написал всё. У него просто офис, видимо, англицкий.
Формат\Условное форматирование.
Условие 1. Значение равно ="ЭС"
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 15.05.2003 (Чт) 11:16

Добрый день, ну если бы было все так элементарно, вопросов бы не возникало.
В том то и дело значение поля не равно ЭС, а содержит, т.е.
значение м.б. ПР_ЭС и условие должно быть true..

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 15.05.2003 (Чт) 11:31

Вставь в книгу обработчик события:

Код: Выделить всё
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If InStr(1, LCase(CStr(Target.Value)), "эс", vbTextCompare) > 0 Then Target.Interior.Color = RGB(255, 0, 0)
End Sub




Только вставляй его в модуль книги, а не листа.

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 15.05.2003 (Чт) 12:43

Ну и намудрил же ты!
Не знаю как данный модуль применить...
Но неужели с стандартном усл. форматировании нельзя так сделать?

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 15.05.2003 (Чт) 13:08

Но ведь приятно, когда САМО форматируется!
Только код чуть подправить надо, а то он работать только для простого ввода будет. А если например копировать? :wink:

Код: Выделить всё
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Long, j As Long
    For i = 1 To Target.Rows.Count
        For j = 1 To Target.Columns.Count
            If InStr(1, LCase(CStr(Target.Cells(i, j).Value)), "эс", vbTextCompare) > 0 Then
                Target.Cells(i, j).Interior.Color = RGB(255, 0, 0)
            End If
        Next
    Next
End Sub

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 15.05.2003 (Чт) 13:22

А как мне передать Target?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 15.05.2003 (Чт) 14:39

Да никак.

Это обработчик события. Target ему передаст сам excel :)


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52

    TopList