我需要根据单元格的颜色(红色或蓝色)分配值1或0。我听说过很多关于如何为值分配颜色的方法,但不是这样。我是一个初学者,但是我认为我需要在VBA中使用IF语句,但我还没有弄清楚如何将颜色分配为IF语句的输入。任何帮助,将不胜感激!
谢谢你
Excel 2013
在下面的第一个示例中,我假设您希望蓝色单元格等于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”,然后按Enter。在下面的代码中应使用返回的整数代替{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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句