powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменение цвета в зависимости от значения ячейки
10 сообщений из 35, страница 2 из 2
Изменение цвета в зависимости от значения ячейки
    #34586238
Hashman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Диса HashmanА, все, отбой! ))) Если написать вот так =
Код: plaintext
=ИЛИ($D1= 1 ;$D1= 2 )
то работает )))
А если буквы, то вот так
Код: plaintext
=ИЛИ($D1="Ништяк";$D1= 2 )

Здорово! )))

Можно совет?
Ага! :D
...
Рейтинг: 0 / 0
Изменение цвета в зависимости от значения ячейки
    #34586253
silveRain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорее всего это какие-то отличия русского экселя с английским :) я только с последним работал. Но хорошо что все хорошо ;)
...
Рейтинг: 0 / 0
Изменение цвета в зависимости от значения ячейки
    #34586255
Диса
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hashman
Ага! :D

Изучайте операторы ВБА с помощью записи макросов :-Р
...
Рейтинг: 0 / 0
Изменение цвета в зависимости от значения ячейки
    #34586315
Hashman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Диса Hashman
Ага! :D

Изучайте операторы ВБА с помощью записи макросов :-Р
Я пытаюсь!! Но он почему-то всегда всякие гадости записывает :(

Вообще, мне кажется макрорекордер можно использовать только для того, что бы узнать как именно чего пишется, уже представляя себе механизм, а главное что и как фунциклирует и как оно сработает, вопрос только в написании...
...
Рейтинг: 0 / 0
Изменение цвета в зависимости от значения ячейки
    #34586420
silveRain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати я тут поизвращался с решением задачи, когда необходимо поставить условий более 3.
И вот что получается с использованием дополнительного листа, куда мы помещаем: в первый столбец - значения для сравнения; во второй столбец - номер цвета для закрашивания строки.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Target
For Each rng In Range("A:A")
        If rng = "" Then Exit Sub
        On Error Resume Next
        Rows(rng.Row).Interior.ColorIndex = Application.WorksheetFunction.VLookup(rng.Value, ThisWorkbook.Sheets("Sheet2").Range("A:B"),  2 , False)
        If Err.Number <>  0  Then Rows(rng.Row).Rows.Interior.ColorIndex = xlNone
Next rng
End Sub

Честно говоря много похожих вариантов было, поэтому развивать тему не буду - а так под конкретную задачу и конкретные условия реализации можно много чего из этого напридумывать, имхо.

Открытым лично для меня остается только вопрос, почему не работает проверка
Код: plaintext
If rng Is Nothing Then Exit Sub
...
Рейтинг: 0 / 0
Изменение цвета в зависимости от значения ячейки
    #34586450
Hashman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, rng это же массив, и когда я перебираю все значения, даже если конкретная ячейка пустая, то оно все равно, пока не переберет все имеющиеся в столбе "А" значения не успокоится.. А если значений вообще нет, то Exit sub наступает )))...

Правда, он же наступает, если первое значение не в А1 пихать, а к примеру, А5... " И настал всем Exit sub..." :) Суббота = нерабочий день, господа... Ниохото работать вообще, а вот поиздеваться над екселькой - самое то, по моему! )))
...
Рейтинг: 0 / 0
Изменение цвета в зависимости от значения ячейки
    #34586457
Hashman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если так
Код: plaintext
1.
2.
3.
4.
5.
If Cells(Target.Row, Target.Column) = "" Then Exit Sub
For Each rng In Range("A:A")
        On Error Resume Next
        Rows(rng.Row).Interior.ColorIndex = Application.WorksheetFunction.VLookup(rng.Value, ThisWorkbook.Sheets("Ëèñò2").Range("A:B"),  2 , False)
        If Err.Number <>  0  Then Rows(rng.Row).Rows.Interior.ColorIndex = xlNone
Next rng......
...
Рейтинг: 0 / 0
Изменение цвета в зависимости от значения ячейки
    #34586468
Hashman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не.. фигня какая-то.. теперь все вешается ((((
...
Рейтинг: 0 / 0
Изменение цвета в зависимости от значения ячейки
    #34586622
silveRain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Долго парил мозг, а все оказалось как всегда очень просто:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Target
For Each rng In Range("A:A")
        On Error Resume Next
        Rows(rng.Row).Interior.ColorIndex = Application.WorksheetFunction.VLookup(rng.Value, ThisWorkbook.Sheets("Sheet2").Range("A:B"),  2 , False)
        If Err.Number <>  0  Then Rows(rng.Row).Rows.Interior.ColorIndex = xlNone
        If rng.Row = Range("A:A").End(xlDown).Row Then Exit Sub
Next rng
End Sub
...
Рейтинг: 0 / 0
Изменение цвета в зависимости от значения ячейки
    #34586634
silveRain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только там еще нюанс. Если строка полностью пустая, то проверка на "конец" выдает 65536, поэтому нужно доп условие на прерывание саба на это значение.
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменение цвета в зависимости от значения ячейки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]