如何在vba中实现满足条件的单元格填充相应的颜色
如图,如何将符合条件(某一行中最大的值)的单元格填充相应的颜色(如果最大值是属于第一列则填充红色,最大值在第二列则填充绿色,第三列则蓝色,第四列粉色,谢谢!...
如图,如何将符合条件(某一行中最大的值)的单元格填充相应的颜色(如果最大值是属于第一列则填充红色,最大值在第二列则填充绿色,第三列则蓝色,第四列粉色,谢谢!
展开
2个回答
展开全部
条件格式,设置四个条件
选择A列,条件格式公式输入=AND(A1=MAX($A1:$D1),A1<>""),填充选择红色
选择B列,条件格式公式输入=AND(B1=MAX($A1:$D1),B1<>""),填充选择绿色
选择C列,条件格式公式输入=AND(C1=MAX($A1:$D1),C1<>""),填充选择蓝色
选择D列,条件格式公式输入=AND(D1=MAX($A1:$D1),D1<>""),填充选择紫红色
更多追问追答
追问
不好意思,我的要求是用VBA实现,不是公式
追答
Sub 条件格式()
For i = 1 To [a65536].End(3).Row
ma = Application.Max(Range("a" & i & ":d" & i))
aa = Range("a" & i & ":d" & i).Find(ma).Column
If aa = 1 Then
bb = 3
ElseIf aa = 2 Then
bb = 4
ElseIf aa = 3 Then
bb = 41
Else
bb = 39
End If
Cells(i, aa).Interior.ColorIndex = bb
Next
End Sub
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
lb = Asc(Split(Target.Address, "$")(1))
Dim rng As Range
Colors = Array(3, 4, 41, 39)
If 65 <= lb And lb <= 68 Then
For i = 1 To [E65536].End(xlUp).Row
c = 0
Max = Application.Max(Range("E" & i & ":H" & i))
For Each rng In Range("E" & i & ":H" & i).Cells
If rng.Value = Max Then
Range("E" & i & ":H" & i).Interior.ColorIndex = 0
rng.Interior.ColorIndex = Colors(c)
Exit For
End If
c = c + 1
Next
Next
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询