10, excel vba 修改单元格的颜色

 看数据总是很累的,一堆密密麻麻的.哪个数据才是我想要的呢? 

比如一列里有各种各样的数据,我想知道哪些单元格的数据大于11的?

又比如一列里有各种各样的数据,我想知道哪些单元格的数据大于111的?

这里比较好的一种方法就是给单元格加一些色彩.看起来更直观.

又或者有些人比较好色.比如觉得看绿色让他很舒服.也可以设置单元格的颜色了.


在vba中一种颜色都对应着一个数字或者说序列吧. 比如红色. 它对应的序列是3. 即(ColorIndex =3)

最早我们知道,一个单元格可能存在着很多属性.比如 单元格.height   表示的是这个单元格格的高度. 

当设置为   单元格.height =3 时. 我们就把单元格的高度设置为3了.

vba中  单元格.Interior    表示这个单元格的背景.

比如  range("A1").Interior   指的就是单元格 A1的背景.

用  range("A1").Interior.ColorIndex  表示的就是A1的背景的色彩序列.


如果我们要设置A1的背景的色彩为 红色,我们这样写就可以了:  range("A1").Interior.ColorIndex=3, 

由前面知道,在vba里,每种颜色都关联着一个数字. 当我们把ColorIndex设置为3的时候, 就设置为了红色了.

接下来我们用实际的代码,来做个体验

假设有这样一个表格,我们要做的就是把 >11 的表格设置为红色




代码如下:

Public Sub diandian10()

   For Each danyuan In Range(Range("A1"), Range("A100").End(xlUp))
   
       If danyuan.Value > 11 Then
           danyuan.Interior.ColorIndex = 3
       End If
       
   Next


End Sub





运行后效果如图:



我们可以看到确实单元格的背景色变成了红色

代码分析:

1, Range(Range("A1"), Range("A100").End(xlUp)): 这个表示的是单元格A1到A8这个范围. 至于为什么这句不是表示A1到A100呢?  因为后面有一个 end(xlup),这个表示的是a100往上的非空单元格,这里就是a8

2,  If  danyuan.Value > 11Then  , 这句语句就是前面一节学到的 选择语句了, 我们还记得选择语句的结构是:

if  条件  then

do something

end if 

吧 .这里的条件就是   danyuan.Value > 11 , 当满足条件时,就会执行do something

3, danyuan.Interior.ColorIndex = 3  : 这个就是我们今天要学的内容了.  翻译过来就是: 单元格.背景.色彩序列=3

执行这个语句,就会把单元格变成红色.


如果你想改变单元格的背景色用:

   单元格.Interior.ColorIndex=

如果你想改变单元格的字体的颜色:

   单元格.font.ColorIndex=


下面给出所有的颜色对应的序列,用来查阅:




  • 21
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值