如何在vba中实现满足条件的单元格填充相应的颜色

如图,如何将符合条件(某一行中最大的值)的单元格填充相应的颜色(如果最大值是属于第一列则填充红色,最大值在第二列则填充绿色,第三列则蓝色,第四列粉色,谢谢!... 如图,如何将符合条件(某一行中最大的值)的单元格填充相应的颜色(如果最大值是属于第一列则填充红色,最大值在第二列则填充绿色,第三列则蓝色,第四列粉色,谢谢! 展开
 我来答
【名臣】f2
2013-08-03 · TA获得超过1913个赞
知道大有可为答主
回答量:1594
采纳率:0%
帮助的人:1546万
展开全部

条件格式,设置四个条件

  1. 选择A列,条件格式公式输入=AND(A1=MAX($A1:$D1),A1<>""),填充选择红色

  2. 选择B列,条件格式公式输入=AND(B1=MAX($A1:$D1),B1<>""),填充选择绿色

  3. 选择C列,条件格式公式输入=AND(C1=MAX($A1:$D1),C1<>""),填充选择蓝色

  4. 选择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
lgf126
2013-08-03 · TA获得超过1101个赞
知道小有建树答主
回答量:1077
采纳率:33%
帮助的人:469万
展开全部
 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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式