本文主要是介绍Excel_VBA:根据条件设定背景色,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我之前没有学过VBA,可是因为工作中要制作一个template format逼不得已,现学现卖了下面这段程序。我也不是完全不会程序,不然凭空照着别的VBA格式再原创下面这段程序,我的智力还是达不够的。感谢C语言中启发我的逻辑!最后再感叹一句,有点程序基础真的不错,广大上班族们去学一门吧。会真的方便日后工作的。
我需要做到下面的效果,按照A列填充背景颜色,但是数字是跳跃的。所以简单的 number Mod 2 是不行的。
于是我写了下面这段程序,思路也附上了。
Sub ChangeRowRGB()Dim i As IntegerDim k As IntegerDim flag As IntegerDim 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 + 0ElseIf Cells(i, 1) <> Cells((i + 1), 1) Then '循环去到A4≠A5的时候,k值增1k = k + 1End Ifflag = (k Mod 2) 'flag只有1和0arr(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 ThenSheet1.Rows(m + 2).Interior.Color = RGB(205, 222, 236)ElseIf arr(m) = 1 ThenSheet1.Rows(m + 2).Interior.ColorIndex = 2End IfNext mEnd Sub
因为完全无中生有思路,我想了很久...脑筋还是不灵光啊。
以此纪念我的第一个VBA代码编写。
这篇关于Excel_VBA:根据条件设定背景色的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!