首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

excel根据格内容改变底色有关问题

2012-03-22 
excel根据格内容改变底色问题excel表类似于分组号其他内容。。。。。。1。。。。。。。。2。。。。。。。。。。2。。。。。。。2。。。。。。3。。。

excel根据格内容改变底色问题
excel表类似于
分组号     其他内容。。。。。。
  1         。。。。。。。。
  2         。。。。。。。。。。
  2         。。。。。。。
  2         。。。。。。
  3         。。。。。。
  3         。。。。。。  
  4         。。。。。。。
  。。。。。。。。。
  。。。。。。。
希望得到的效果是,分组号1底色为白色,分组号为2的(3,4,5行)底色变为灰色,分组号为3的(6,7行)底色为白色,分组号为4的底色为灰色。依此类推,根据分组号把表格的行用不同的底色交叉显示。

[解决办法]
录个宏看看,里面代码很清楚
[解决办法]
你的分组号只有4个吗。还是有多个。
你一共有多少组,有没有定数的。
用一个循环,设置
For i = 1 to 组数X (或最大的行数是6500多)
if Cells(i, 1) = 1 then Rows(i).Interior.ColorIndex = 20 '青色
if Cells(i, 1)=2 then Rows(4).Interior.ColorIndex = 36 '黄色
'colorindex可以从0到56 ,0是无色,1是黒色,...自己去试试。
...
next
[解决办法]
Private Sub CommandButton1_Click()
Dim index As Long '行号
Dim temp As String '当前单元格上一单元格值,作比较用
Dim strRangeA As String 'A列单元格
Dim strRange As String '当前行
Dim strColor As Integer '颜色

temp = Range( "A1 ").Value

For index = 1 To 65536

strRange = CStr(index) + ": " + CStr(index)
strRangeA = "A " + CStr(index)

If Range(strRangeA).Value = " " Then
Exit Sub
End If

If Range(strRangeA).Value Mod 2 = 1 Then
strColor = 2
Else
strColor = 15
End If

If temp = Range(strRangeA).Value Then

Rows(strRange).Select
With Selection.Interior
.ColorIndex = strColor
.Pattern = xlSolid
End With

temp = Range(strRangeA).Value
Else
Rows(strRange).Select
With Selection.Interior
.ColorIndex = strColor
.Pattern = xlSolid
End With

temp = Range(strRangeA).Value
End If

Next
End Sub

热点排行