У меня есть лист Excel, которым делятся несколько пользователей. Мы используем vlookup для ввода обновленных данных в таблицу, чтобы все пользователи знали, что изменилось. Мы бы хотели, чтобы любая измененная ячейка была выделена желтым цветом с красным шрифтом.

У меня есть этот код, который работает, но я не знаю, как добавить желтую заливку в код:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim ws As Worksheet, ws2 As Worksheet 
    Dim i As Boolean Application.ScreenUpdating = False 'Create Change Log if one does not exist. 
    i = False 
    For Each ws In ThisWorkbook.Worksheets 
        If ws.Name = "Change Log" Then
            i = True 
            Exit For 
        End If 
    Next ws 

    If Not i Then Set ws2 = ThisWorkbook.Worksheets.Add 
        ws2.Visible = xlSheetHidden 
        ws2.Name = "Change Log" 
        ws2.Range("A1") = "Sheet" 
        ws2.Range("B1") = "Range" 
        ws2.Range("C1") = "Old Text Color" 
    Else Set ws2 = Sheets("Change Log") 
    End If 'Store previous color data in change log for rollback. 

    ws2.Range("A1").Offset(ws2.UsedRange.Rows.Count, 0) = Target.Worksheet.Name     
    ws2.Range("B1").Offset(ws2.UsedRange.Rows.Count - 1, 0) = Target.Address 
    ws2.Range("C1").Offset(ws2.UsedRange.Rows.Count - 1, 0) = Target.Font.Color 'Change font color to red.
    Target.Font.Color = 255 
    Application.ScreenUpdating = True 
End Sub 

2 ответа2

0

Вы пробовали следующее?

With .Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 65535
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With

Применяя это к вашему диапазону конечно.

0

Добавьте это ниже Target.Font.Color=255:

Target.Interior.Color = 65535

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .