VBA中一些颜色相关的对象,十分丰富,如果是设计一下美观的工作表,那么对于这些对象就不得不进行一翻认真了解了。
本文讲一下,关于如何根据单元格数据,设置区分不同颜色的方法,很有用。
实际上这个示例应用于某些工作表当中的一些相关数据,因为要根据不同数据显示不同的背景颜色,这样就有利于对工作表数据的一个判断。
一般数据背后表达的含义是一个十分抽象的内容,通过颜色来区分,这些抽象的数据就有一个更加明显的意义。
下图为本文示例将会用到的一些对象,以及其实际指代的含义。
我们用到的一个重要对象为ColorScale。
其代表色阶条件格式规则。
也就是说根据一些规则来定义单元格颜色。
如何得到这个对象?
可以通过FormatConditions.AddColorScale方法来新建并返回一个ColorScale对象。
ColorScale对象的方法和属性
方法 | 属性 |
Delete | Application |
ModifyAppliesToRange | AppliesTo |
SetFirstPriority | ColorScaleCriteria |
SetLastPriority | Creator |
Formula | |
Parent | |
Priority | |
PTCondition | |
ScopeType | |
StopIfTrue | |
Type |
通过代码来具体学习一下:
Sub CreateColorScalObject()
Dim R As Range, i As Integer
Dim xColorScale As ColorScale
Set R = ActiveSheet.Range("C3:F15")
R.Clear
'定义 设置颜色区域 并添加数据
With R
For i = 1 To R.Columns.Count
.Cells(1, i).Value = 50
.Cells(2, i).Value = 51
Next i
' .Item(2).Value = 61
.Item(1).Resize(2, 4).AutoFill Destination:=R
End With
R.Select
'新建一个 ColorScale 对象 三色条件
Set xColorScale = Selection.FormatConditions.AddColorScale(ColorScaleType:=3)
'设置颜色条件格式
xColorScale.ColorScaleCriteria(1).FormatColor.Color = RGB(255, 0, 0) '红色
xColorScale.ColorScaleCriteria(2).FormatColor.Color = RGB(255, 20, 255) '粉色
xColorScale.ColorScaleCriteria(3).FormatColor.Color = RGB(255, 255, 0) '黄色
End Sub
上述代码实现了根据单元格值三色过渡效果,修改ColorScaleType:=3值为2,就可以实现双色格式,应用中可以进行一个调试。
颜色运用得当对于工作表整体的可读性将是一个重大的提高,所以,最好把相关技巧进行熟练应用,那么会得到一个不错的体验。
欢迎关注、收藏
---END---