① Excel利用宏填充颜色
If Sheets(1).Selection.Interior.ColorIndex = 15 Then
运行这句时会显示: 对象不支持该属性或方法.问题在于前一句定义了"Sheets(1).Cells(i, j).Select"
所以这里只用 "If Selection.Interior.ColorIndex = 15 Then"
另外,如果只是将程序改为 "If Selection.Interior.ColorIndex = 15 Then" 那么下面的判断就不能用
Sheets(2).Cells(i, j).Select
Sheets(2).Selection.Interior.ColorIndex = 1
这两句, 因为Sheets(2).Cells(i, j).Select这句会造成Selection区域的改变,从而会产生新的错误.
Sub 填色()
Dim i As Integer
Dim j As Integer
Sheets(1).Select
For i = 1 To Sheets(1).UsedRange.Rows.Count
For j = 1 To Sheets(1).UsedRange.Columns.Count
Sheets(1).Cells(i, j).Select
If Selection.Interior.ColorIndex = 15 Then
Sheets(2).Cells(i, j).Interior.ColorIndex = 1
End If
Next j
Next i
End Sub
把程序改为这样,应该是比较少的改动了.如果你想优化,还是参照上面的回复.
② Eecel中如何实现使用宏命令改变表格内所有字体颜色
该表表格所有字体颜色的VBA代码:
Cells.Font.Color=RGB(0,255,0)
RGB表示红、绿、蓝的组合,如果需要为白色就是RGB(255,255,255),黑色就是RGB(0,0,0)