Excel VBA 技巧:设置条件格式,根据数值变化改变单元格颜色和字体
使用 Excel VBA 自动设置条件格式
本文将介绍如何利用 VBA 编程,为指定工作表中的特定单元格设置条件格式,实现以下功能:
- 清除指定工作表的所有条件格式。
- 判断 T6、V6、Z6 单元格的值,并根据不同条件设置 Q6、T6、V6、Z6 单元格的样式。
代码示例:
Sub SetColorAndFont()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case '总收入', '回款收入', '客房收入', '餐饮收入', '出租率', '平均房价', '间房收益', 'GOP额', 'gop率', '客房gop率', '餐饮gop率', '净利润'
'如果是以上指定的工作表,则执行以下代码
ws.Cells.FormatConditions.Delete '清除所有条件格式
Dim i As Integer
For i = 6 To 20 '循环行数
If ws.Range('T' & i).Value > 1 And ws.Range('V' & i).Value > 0 And ws.Range('Z' & i).Value > 0 Then
'如果满足条件
ws.Range('Q' & i).Interior.Color = RGB(0, 255, 0) '绿色背景
ws.Range('T' & i & ':Z' & i).Font.Bold = True '蓝色字体加粗
ws.Range('T' & i & ':Z' & i).Font.Color = RGB(0, 0, 255) '蓝色字体
ElseIf ws.Range('T' & i).Value < 1 And ws.Range('V' & i).Value < 0 And ws.Range('Z' & i).Value < 0 Then
'如果不满足条件
ws.Range('Q' & i).Interior.Color = RGB(255, 0, 0) '红色背景
ws.Range('T' & i & ':Z' & i).Font.Bold = True '红色字体加粗
ws.Range('T' & i & ':Z' & i).Font.Color = RGB(255, 0, 0) '红色字体
End If
Next i
End Select
Next ws
End Sub
代码说明:
- 该代码会循环遍历当前工作簿中的所有工作表。
- 如果工作表名称为'总收入', '回款收入', '客房收入', '餐饮收入', '出租率', '平均房价', '间房收益', 'GOP额', 'gop率', '客房gop率', '餐饮gop率', '净利润' 中的任意一个,则执行条件格式设置。
- 使用
ws.Cells.FormatConditions.Delete清除该工作表的所有条件格式。 - 使用
For i = 6 To 20循环遍历第 6 行到第 20 行的单元格。 - 使用
If语句判断 T6、V6、Z6 单元格的值,并根据条件设置 Q6、T6、V6、Z6 单元格的样式。
使用步骤:
- 打开 Excel 工作簿,并按下
Alt + F11键打开 VBA 编辑器。 - 在 VBA 编辑器中插入一个模块。
- 将上面的代码复制粘贴到模块中。
- 点击运行按钮或按下
F5键运行代码。
注意:
- 以上代码只设置了两种条件格式,您可以根据需要添加更多条件。
- 代码中的工作表名称、单元格地址和颜色值可以根据您的实际情况进行修改。
- 该代码可以帮助您快速设置条件格式,并节省手动设置的时间。
原文地址: https://www.cveoy.top/t/topic/nytR 著作权归作者所有。请勿转载和采集!