2010-07-26 8 views
0

У меня есть таблица, которую я использую на работе, чтобы отслеживать возвращенные контракты. Я установил цветной ключ, чтобы я мог быстро взглянуть на лист, чтобы узнать, какие контракты по-прежнему нужно вернуть нам и к какому менеджеру учетной записи принадлежит.Раскраска диапазона ячеек в Excel с использованием VBA

Инициаторы менеджера аккаунта перечислены в столбце A; оттуда я хотел бы покрасить диапазон ячеек в этой строке (A: H) в зависимости от того, кто из инициалов введен в A. Сейчас у меня есть следующий код на месте, но мне не нравится, как выглядит таблица с весь ряд цветных:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
If Target.Column <> 1 Then Exit Sub 

Select Case Target 

Case "MKH" 
Target.EntireRow.Interior.ColorIndex = 36 

Case "MAH" 
Target.EntireRow.Interior.ColorIndex = 39 

Case "MJM" 
Target.EntireRow.Interior.ColorIndex = 34 

Case "JVE" 
Target.EntireRow.Interior.ColorIndex = 35 

Case Else 
Target.EntireRow.Interior.ColorIndex = 0 

End Select 

PS Большинство сотрудников нашего офиса все еще используют Office 2003, поэтому условное форматирование не является вариантом.

ответ

4

Если ваш вопрос заключается в том, чтобы окрасить часть строки, вместо всего один, это должно работать:

Range("A" & Target.Row, "H" & Target.Row).Interior.ColorIndex = 10 
+0

Да, это сработало! Огромное спасибо :-) – JTone

0

В зависимости от того, сколько строк у вас есть, скорость вашего компьютера, версия Excel и т. д. События обычно замедляют работу вашего листа и в значительной степени замедляют другие коды VBA.

Для чего вы хотите сделать «Условное форматирование» всегда является лучшей альтернативой.

Смежные вопросы