#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) удаляет все настройки цвета.