Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1659|回复: 9

[已解决]怎样实现按要求的条件格式?

[复制链接]
发表于 2015-5-30 22:25 | 显示全部楼层 |阅读模式
C6:Q6当值大于2时,填充红色,字体白色;
C13:Q13当值大于2时,填充红色,字体白色;
C20:Q20当值大于6时,填充红色,字体白色;
C27:Q27当值大于4时,填充红色,字体白色;
C34:Q34当值大于4时,填充红色,字体白色;
C41:Q41当值大于4时,填充红色,字体白色;
C48:Q48当值大于4时,填充红色,字体白色;

C7:Q7,C14:Q14,C21:Q21,C28:Q28,C35:Q35,C42:Q42,C49:Q49
当值小于100%时,填充红色,字体白色

1、该怎么用条件格式实现?用带公式的那种条件格式?
我附件里用的是条件格式,突出显示的那种,底色设置的都是绿色填充,但C6:Q6,C13:Q13,C20:Q20,C27:Q27,C34:Q34,C41:Q41,C48:Q48就是不能全部按我的要求实现,符合条件的的确是按要求显示了,但就是不符合条件的照样显示成填充红色字体白色的了。我想空白的地方都显示成我刚开始设置的绿色填充。
2、可否用VBA来实现我的要求?


最佳答案
2015-5-31 11:07
用代码写的,看看是你要的效果不。

怎样实现按要求的条件格式?.zip

21.14 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-5-31 11:07 | 显示全部楼层    本楼为最佳答案   
用代码写的,看看是你要的效果不。

怎样实现按要求的条件格式?.rar

26.32 KB, 下载次数: 8

回复

使用道具 举报

 楼主| 发表于 2015-5-31 14:13 | 显示全部楼层
scl5801 发表于 2015-5-31 11:07
用代码写的,看看是你要的效果不。

不错,您真牛!帮我解决了一直未能解决的问题。谢谢您!
请帮我稍微做修改一下,不要涉及到最后一列R列。再次感谢!
回复

使用道具 举报

发表于 2015-5-31 18:09 | 显示全部楼层
又学会了一个方法,谢谢老师!
回复

使用道具 举报

发表于 2015-5-31 21:12 | 显示全部楼层
sampsonpon 发表于 2015-5-31 14:13
不错,您真牛!帮我解决了一直未能解决的问题。谢谢您!
请帮我稍微做修改一下,不要涉及到最后一列R列。 ...

现在不包括r列,你把r列的颜色去掉即可,r列是我测试时多选了一列。
回复

使用道具 举报

发表于 2015-5-31 21:27 | 显示全部楼层
谢谢老师!学习了
回复

使用道具 举报

 楼主| 发表于 2015-5-31 21:33 | 显示全部楼层
scl5801 发表于 2015-5-31 21:12
现在不包括r列,你把r列的颜色去掉即可,r列是我测试时多选了一列。

这个我知道了。谢谢!我把您给的代码经过修改了一下才是我最想要的结果。代码如下面最后。
但是,现在问题又来了:
1,为什么您没有把代码放在模块里面,而是直接放在了表里,这样也可以?我从来没有这样用过。而且,您的代码是以Pubic开头,而不是直接以Sub开始?
2,要怎么样才能让它自动运行呢?不可能给它个按钮,每次都要来按一次吧?
3,因为表里我用的都是公式,最终显示的%结果格式是不保留小数位的,所以有时的100%并不是真正的100%而可能是99.99%,所以它就会被认为是<100%,怎样来解决这个问题呢?
再次谢谢您!

Public Sub 填色()
Dim i%
With Application
   .ScreenUpdating = False
    For i = 1 To 15
        If .Cells(6, i + 2) > 2 And .Cells(6, i + 2) <> "" Then
           .Cells(6, i + 2).Interior.ColorIndex = 3
           .Cells(6, i + 2).Font.ColorIndex = 2
        Else
           .Cells(6, i + 2).Interior.Color = RGB(0, 255, 0)
        End If
        If .Cells(7, i + 2) < 1 And .Cells(7, i + 2) <> "" Then
           .Cells(7, i + 2).Interior.ColorIndex = 3
           .Cells(7, i + 2).Font.ColorIndex = 2
        Else
           .Cells(7, i + 2).Interior.Color = RGB(0, 255, 0)
        End If
        If .Cells(13, i + 2) > 2 And .Cells(13, i + 2) <> "" Then
           .Cells(13, i + 2).Interior.ColorIndex = 3
           .Cells(13, i + 2).Font.ColorIndex = 2
        Else
           .Cells(13, i + 2).Interior.Color = RGB(0, 255, 0)
        End If
        If .Cells(14, i + 2) < 1 And .Cells(14, i + 2) <> "" Then
           .Cells(14, i + 2).Interior.ColorIndex = 3
           .Cells(14, i + 2).Font.ColorIndex = 2
        Else
           .Cells(14, i + 2).Interior.Color = RGB(0, 255, 0)
        End If
        If .Cells(20, i + 2) > 6 And .Cells(20, i + 2) <> "" Then
           .Cells(20, i + 2).Interior.ColorIndex = 3
           .Cells(20, i + 2).Font.ColorIndex = 2
        Else
           .Cells(20, i + 2).Interior.Color = RGB(0, 255, 0)
        End If
        If .Cells(21, i + 2) < 1 And .Cells(21, i + 2) <> "" Then
           .Cells(21, i + 2).Interior.ColorIndex = 3
           .Cells(21, i + 2).Font.ColorIndex = 2
        Else
           .Cells(21, i + 2).Interior.Color = RGB(0, 255, 0)
        End If
        For r = 0 To 3
            If .Cells(27 + r * 7, i + 2) > 4 And .Cells(27 + r * 7, i + 2) <> "" Then
               .Cells(27 + r * 7, i + 2).Interior.ColorIndex = 3
               .Cells(27 + r * 7, i + 2).Font.ColorIndex = 2
            Else
               .Cells(27 + r * 7, i + 2).Interior.Color = RGB(0, 255, 0)
            End If
            If .Cells(28 + r * 7, i + 2) < 1 And .Cells(28 + r * 7, i + 2) <> "" Then
               .Cells(28 + r * 7, i + 2).Interior.ColorIndex = 3
               .Cells(28 + r * 7, i + 2).Font.ColorIndex = 2
            Else
               .Cells(28 + r * 7, i + 2).Interior.Color = RGB(0, 255, 0)
            End If
        Next r
    Next i
End With
End Sub

回复

使用道具 举报

发表于 2015-5-31 21:56 | 显示全部楼层
第一个问题,放在表中,并使用Pubic开头,表示代码只能在这张表中使用。
第二,自动运行的办法,我给你回复了如何改的信息。
第三,你用%比,应该是带小数的,和1比较应该正确。
回复

使用道具 举报

发表于 2015-5-31 22:00 | 显示全部楼层
我看你计算百分比,没用取整函数,只不过显示整数,实际是有小数的
回复

使用道具 举报

 楼主| 发表于 2015-5-31 22:30 | 显示全部楼层
scl5801 发表于 2015-5-31 22:00
我看你计算百分比,没用取整函数,只不过显示整数,实际是有小数的

嗯!你所看到的是由于我附件要压缩大小时把其复制粘贴成数值形式了。
我或许想到办法了,把所有百分比那些行全部都起初设置成红色,再改一下代码,把以前<1改成>=1,还有把<>""改成=“”,再把RGB255换成绿色的,不就可以了吗?
麻烦您再告诉我一下绿色的RGB值是多少好吗?顺便告诉我一下这些值在哪里最方便查到?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-14 10:52 , Processed in 0.318841 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表