14 '获取第i个sheet中有数据的最后一行的行号
15 rownum = Worksheets(i).Range("A1048576").End(xlUp).Row
17 '从第j行开始循环到有数据的最后一行
18 For j = 10 To rownum
20 '从第k列开始循环到第九列
21 For k = 1 To 9
23 '将第i个sheet中的第j行,第k列的单元格填充为RGB(255,255,204)色
24 Worksheets(i).Cells(j, k).Interior.Color = RGB(255, 255, 204)
26 Next
28 Next
30 Next
32 End Sub
要求:一个Excel文件中,有多个sheet,每个sheet中都有特定范围的单元格需要填充颜色,手动填充太麻烦,下面是VBA实现的自动填色 1 Sub incolor() 2 3 Dim i, j, sheetnum, rownum 4 5 '获取当前文档中的sheet个数 6 sheetnum = Worksheets.Count 7 ...
也可以用RGB()函数,这样就可以设置成任何颜色。RGB()函数函数实际是返回一个颜色值,因此,也可以直接赋值,只是这个值不直观而已。其实这个值就是RGB()函数的值,用十六进制表示就非常直观了,只是最低两位表示红色,最高两位表示蓝色,中间两位表示绿色,即:
&HBBGGRR
如红色(Col
# 创建
Excel
对象
workbook = Workbook(filename='phone.xlsx')
worksheet = workbook.add_worksheet()
# 定义颜色
red_color = workbook.add_format({'color':
要让随机
单元格
变透明,可以使用`WorksheetFunction.RandBetween`函数来生成一个随机
单元格
地址,然后再使用`Range.Interior.ColorIndex`属性来设定
单元格
颜色。以下是一个示例
代码
:
```
vba
Sub RandomTransparency()
Dim rng As Range
Dim transparency As Double
'生成随机
单元格
地址
Set rng = Cells(WorksheetFunction.RandBetween(1, ActiveSheet.UsedRange.Rows.Count), _
WorksheetFunction.RandBetween(1, ActiveSheet.UsedRange.Columns.Count))
transparency = Rnd '生成随机透明度
rng.Interior.ColorIndex = 0 '先将
单元格
设为透明
rng.Interior.Transparency = transparency '再根据随机透明度设定颜色
End Sub
每次运行这个宏,都会随机选取一个
单元格
并改变它的透明度。注意,这里生成的随机
单元格
地址是在当前工作表的已使用范围内随机选取的,如果你想要限定随机选取的范围,可以修改函数的参数。