Как изменить определенные цвета ячеек на отсутствие заливки на нескольких вкладках в Excel?

#excel #vba

Вопрос:

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

 Sub YellowFillToNoFill()
        'RGB(246, 244, 150) Yellow Colour To change to no Fill

       'PURPOSE: Change any cell with a Yellow fill color to a No fill color

        Dim cell As Range

       'Optimize Code
        Application.ScreenUpdating = False

        'Ensure Cell Range Is Selected
        If TypeName(Selection) <> "Range" Then
        MsgBox "Please select some cells before running"
        Exit Sub
        End If

       'Loop Through Each Cell
        For Each cell In ActiveSheet.UsedRange 'Can also use Range("C1,C2" etc.) instead of 
        'Selection.Cells' or 'ActiveSheet.UsedRange'
          If cell.Interior.Color = RGB(246, 244, 150) Then
          cell.Interior.Color = xlNone
          End If
        Next
End Sub
 

Ответ №1:

Чтобы сбросить значение, используйте Использовать cell.Interior.ColorIndex = xlNone

Color определяет отображаемый цвет. Это long значение, содержащее RGB-значение цвета.

ColorIndex это индекс в таблице предопределенных цветов (таблица цветов, которую вы видите при выборе цвета в Excel). Специальное значение xlNone (-4142) удаляет все настройки цвета.