我需要根据我的细胞颜色(红色或蓝色)指定值1或0。我已经听过很多关于如何为颜色分配颜色而不是其他方式的颜色。我是初学者,但我相信我需要在VBA中使用IF语句,我还没想出如何将颜色指定为IF语句的输入。任何帮助将不胜感激!
谢谢
Excel 2013
答案 0 :(得分:1)
在接下来的第一个例子中,我假设您希望蓝色单元格等于1,红色单元格等于0。
Sub ifBlueMakeCellValueEQ1()
Dim r As Range
Dim rCell As Range
Set r = Selection.Cells
For Each rCell In r
With rCell
Select Case .Interior.Color
Case Is = vbBlue
.Value = 1
Case Is = vbRed
.Value = 0
End Select
End With
Next
End Sub
要使用它,首先选择一系列单元格然后运行宏。
如果您的单元格的值不能更改为1或0,则表示您的单元格的颜色不等于excel的蓝色和红色(vbBlue和vbRed,分别)。
如果您遇到此问题,请执行以下操作:点击蓝色'细胞。转到VBE立即窗口,输入命令"?activecell.interior.colorindex",点击回车。返回的整数应在以下代码中使用,以代替{BLUECOLORINDEX}
Sub ifBlueMakeCellValueEQ1()
Dim r As Range
Dim rCell As Range
Set r = Selection.Cells
For Each rCell In r
If rCell.Interior.ColorIndex = {BLUECOLORINDEX} Then rCell.Value = 1
Next
End Sub