我在excel中有一个电子表格,其中彩色单元格包含值,而没有填充的单元格为空。我希望所有没有填充颜色的单元格都具有值0
。我有用来分别给黑色和黄色单元格值1
和2
的代码。
Sub changeValuesBasedOnColour()
Dim rg As Range
Dim xRg As Range
Set xRg = Selection.Cells
Application.DisplayAlerts = False
For Each rg In xRg
With rg
Select Case .Interior.Color
Case Is = 0 'Black
.Value = 1
Case Is = 65535 'Yellow
.Value = 2
Case Is = xlNone
.Value = 0
End Select
End With
Next
Application.DisplayAlerts = False
End Sub
我已经编辑了用于根据填充颜色更改单元格值的代码,以包括此部分:
Case Is = xlNone
.Value = 0
但是我的电子表格没有任何变化。如何编辑代码以引用没有填充颜色的单元格?
答案 0 :(得分:2)
使用data
或vbWhite
。
16777215
适用于单元格的xlNone
,与.Interior.ColorIndex
不同。
答案 1 :(得分:0)
master/file2
不能与Color
区别NoFill
!?由于与White
属性一起使用的vbWhite
或16777215
将允许写入白色和未填充单元格,建议您使用Color
属性。
ColorIndex
或:
Select Case .Interior.ColorIndex
Case Is = 1 ' Black
.Value = 1
Case Is = 6 ' Yellow
.Value = 2
Case Is = xlNone ' No color
.Value = 0
Case Else
End Select