2016-07-15 2 views
0

Я пытаюсь изменить цвет диапазона ячеек (от «А» до «N») в зависимости от значения определенной ячейки, в этом случае значение в ячейке «Н». Мне нужно перейти на белый и полужирный для случаев «учетные данные», «ci error/ticket» и «завершено/резервное копирование», а в других случаях сохранить его в обычном черном.Изменение цвета шрифта в условном форматировании

У меня есть код для изменения цвета ячейки в определенном диапазоне, но я не знаю, как применить код для стиля и цвета шрифта для изменения. Вот то, что я до сих пор:

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Intersect(Target, Columns("H")) Is Nothing Then 
     On Error GoTo bm_Safe_Exit 
     Application.EnableEvents = False 
     Dim trgt As Range 
     For Each trgt In Intersect(Target, Columns("H")) 
      Select Case LCase(trgt.Value2) 
      Case "2 day process" 
        Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 46 
        Case "advisor" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 37 
        Case "back in" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 22 
        Case "ci error/ticket" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 1 
        Case "completed" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 10 
        Case "completed/backup" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 51 
        Case "credentialing" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 49 
        Case "credit" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 44 
        Case "duplicate" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 10 
        Case "held" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 37 
        Case "master data" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 37 
        Case "name change" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 37 
        Case "ofr" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 3 
        Case "op consultant" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 37 
        Case "post process" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 32 
        Case "pps" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 37 
        Case "react acct" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 37 
        Case "rejected" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 10 
        Case "transferred" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 10 
        Case "zpnd" 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.ColorIndex = 37 
        Case Else 
         Cells(trgt.Row, "A").Resize(1, 14).Interior.Pattern = xlNone 
      End Select 
     Next trgt 
    End If 
bm_Safe_Exit: 
    Application.EnableEvents = True 
    End Sub 
+0

https://msdn.microsoft.com/en-gb/library/office/ff838238.aspx & https://msdn.microsoft.com/en-gb/library/office/ ff196273.aspx должен вам помочь. –

ответ

1

Вы должны получить доступ к Font свойство клеток. Так что в вашем случае

Cells(trgt.Row, "A").Resize(1, 14).Font.ColorIndex = 1 
Cells(trgt.Row, "A").Resize(1, 14).Font.FontStyle = "Bold" 
+0

Спасибо за ваш ответ. Я применил код к своему рабочему листу в случаях, перечисленных в моем вопросе, но не меняет свойства шрифта в требуемом диапазоне ячеек. Я попробовал что-то подобное и менял цвет, проблема заключалась в том, что когда я изменил значение или удалил значение на ячейке «H», шрифт был еще белым, и мне нужно, чтобы он изменился на значение по умолчанию – rogiefc

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