繁体   English   中英

Excel VBA根据值更改单元格的颜色

[英]Excel VBA Change Color Of Cell Based On Value

我需要某个函数的帮助,该函数可以根据单元格的值是否等于另一个单元格的值来更改单元格的颜色,目前该单元格具有= COUNT(##:##),我需要如果该值等于另一个单元格中的值,则将颜色从红色更改为绿色。

由于对VBA和excel的了解有限,我想到了这个

Function ChangeColor(CellColor As Range)
Application.Volatile True
If CellColor = cell.Value Then ChangeColor = cell.Interior.ColorIndex = 14
End Function

如果可能的话,我宁愿不使用条件格式,但是如果需要的话,我愿意作为条件。 感谢您的所有帮助,并帮助我解决了先前的问题,这个社区很棒。

我做了下面的代码,以突出显示同一列中的单元格。 条件格式不允许我层叠“等于上面的单元格”的公式,也许我只是做得不好。 无论如何,这是可行的,并且很容易更改和添加。 可以轻松更改此示例以适合您的问题。

Sub checkduplicates()
Dim Loop1 As Integer
Dim Loop1StartRow As Integer
Dim Loop1EndRow As Integer
Dim Loop1Count As Integer
Dim Current As Integer
Dim NextOne As Integer

Loop1StartRow = 4 '4 HYIDAS
Loop1EndRow = 330 '330 HYIDAS
Loop1Count = 0

For Loop1 = Loop1StartRow To Loop1EndRow
    Worksheets("HYIDAS").Activate
    Loop1Count = Loop1Count + 1
    Current = Range("H" & Loop1)
    NextOne = Range("H" & Loop1 + 1)
    If Current = NextOne Then
        Range("H" & Loop1).Interior.Color = 220
        Range("H" & Loop1 + 1).Interior.Color = 220
    End If
Next Loop1
End Sub

我认为您只是使用条件格式,但我知道函数无法更改颜色或使用宏

If CellColor = Selection.Value Then CellColor.Interior.ColorIndex = 14

我很抱歉那是我知道的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM