Excel_VBA:根据条件设定背景色

我之前没有学过VBA,可是因为工作中要制作一个template format逼不得已,现学现卖了下面这段程序。我也不是完全不会程序,不然凭空照着别的VBA格式再原创下面这段程序,我的智力还是达不够的。感谢C语言中启发我的逻辑!最后再感叹一句,有点程序基础真的不错,广大上班族们去学一门吧。会真的方便日后工作的。

我需要做到下面的效果,按照A列填充背景颜色,但是数字是跳跃的。所以简单的 number Mod 2 是不行的。

于是我写了下面这段程序,思路也附上了。

Sub ChangeRowRGB()

      Dim i As Integer
      Dim k As Integer
      Dim flag As Integer
      Dim arr(0 To 24) As Integer                               '用数组录入flag,数组容量个数为25,从零开始算
      k = 0
      
'循环开始

    For i = 1 To 25 Step 1 
         
        If Cells(i, 1) = Cells((i + 1), 1) Then                '比如,当A2 = A3的时候,k值不变
           k = k + 0
        ElseIf Cells(i, 1) <> Cells((i + 1), 1) Then           '循环去到A4≠A5的时候,k值增1
           k = k + 1
        End If
    
        flag = (k Mod 2)                                        'flag只有1和0
        arr(i - 1) = flag                                       '比如形成pattern [0,0,0,1,1,1,0,0,0...]
    
     Next i
     
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
     For m = 0 To 24                                           '试图用上面的数组pattern填充对应行的背景颜色
       
       If arr(m) = 0 Then
                Sheet1.Rows(m + 2).Interior.Color = RGB(205, 222, 236)
       ElseIf arr(m) = 1 Then
                Sheet1.Rows(m + 2).Interior.ColorIndex = 2
       End If
       
    Next m
         
  End Sub

因为完全无中生有思路,我想了很久...脑筋还是不灵光啊。

以此纪念我的第一个VBA代码编写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

取啥都被占用

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值