乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 在<em>excel</em>里面用<em>vba</em>能给单元格填

在<em>excel</em>里面用<em>vba</em>能给单元格填

作者:乔山办公网日期:

返回目录:excel表格制作


如你的数据在A列,代码如下。
sub aa ()
for x =1 to range("A65536").end(xlup).row'建立循环
if cells(x,1)=6 then'判断单元格
cells(x,1).interior.colorIndex = 3'单元格值等于6时,该单元格填充红色
end if
next x
end sub

楼主:你好,对于你这个问题有个前提条件:

如果你的Excel版本是2003版,那么你只能用系统预设的56色。用VBA代码实现的其他填充色会被转换为和这56色最接近的一种。

如果你的Excel版本是2007及以上,那么单元格填充色几乎不受限制,你完全可以通过单元格填充的命令实现自定义颜色填充,支持RGB、HSL两种模式,无需借助VBA。


如果使用VBA,代码如下:

Sub test()
    '将A1单元格填充为红色,RGB(红,绿,蓝) ,红、绿、蓝取值在0~255,可设置不同值获得不同颜色。
    Range("A1").Interior.Color = RGB(255, 0, 0)  '填充为红色
    
    '如果想去掉填充色,用这句
    Range("A1").Interior.Pattern = xlnoe
End Sub

Sub gb()
Dim i
For i = 1 To 100
If Sheet1.Cells(i, 1) = 1 Then
Sheet1.Cells(i, 1).Interior.ColorIndex = 6
ElseIf Sheet1.Cells(i, 1) = 0 Then
Sheet1.Cells(i, 1).Interior.ColorIndex = 5
End If
Next

End Sub

'这句有问题
Range(rngS.Row, rngS.Column).Interior.ColorIndex = Sht1.Cells(i, 1).Interior.ColorIndex
'改为zhidao(原因:本身rngS已经被指定为目标单元格的地址了.你不不用再重新转换)
rngS.Interior.ColorIndex = Sht1.Cells(i, 1).Interior.ColorIndex
'如果想转换的话改为:
.Cells(rngS.Row, rngS.Column).Interior.ColorIndex = Sht1.Cells(i, 1).Interior.ColorIndex

相关阅读

  • <em>Excel</em> <em>vba</em>中怎样填写数值&l

  • 乔山办公网excel表格制作
  • 利用VBA代码,添加Worksheet_Change事件Excel vba中怎样填写数值改变单元格后触发事件" src="/uploads/tu/867.jpg" style="width: 400px; height: 267px;" />假设要判断的值在A1,改变单元格后触发事件窗口填写
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网