No.1
颜色管理一直是设计工作当中离不开的一个重要工作。
如何在众多的颜色当中选择自己喜欢的颜色,是个十分困难的事情。
至少,这对我来说是个莫大的难题。
下面,做了一个简单示例,对于ColorIndex属性和TintAndShade属性进行一下操作说明。
No.2
ColorIndex是Excel自定义颜色索引,共有56种颜色。分别以1-56为值。
如果要设置A1单元格背景颜色为粉红色那就用以下代码:
[A1].Interior.ColorIndex = 3
这个应用相对简单。
TintAndShade 是灰度值。取值范围-1~1之间,超出范围报错。
-1最暗1最亮。
为了更好地理解这两个属性,下面以一下例子来说明一下。
No.3
上图把56个颜色分别以颜色块显示出来,右边一个调节按钮可以调节灰度变化。
颜色变化可以查看A1单元格背景色,也就是顶部蓝色一栏。
操作方法:
任意选择单击一个颜色,左上角显示ColorIndex颜色值,拉动滑块按钮可以看到灰度变化。
由于本属性只是在vba编码中应用,所以关于10进制和16进制值没有做选择。
以后有机会整理一下,以便应用到其它编码或设计中应用。
如果,有需要,可以翻看前面的文章,有一篇以RGB颜色取值介绍。
No.4
滑块按钮代码
Private Sub ScrollBar1_Change()
Dim k As Long
k = Me.ScrollBar1.Value
Range("F3") = k / 10
Dim tR As Range
Set tR = ActiveSheet.Cells.Rows(1)
With tR.Interior
.ColorIndex = [A1].Value'设置颜色
.TintAndShade = k / 10'设置灰度值
End With
End Sub
滑块控件最大值10,最小值-10,在对TintAndShade取值的时候要进行一个除10计算。
单击颜色代码
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If VBA.Left(Target.Address, 3) = "$B#34; Or VBA.Left(Target.Address, 3) = "$D#34; Then
If VBA.Len(Target.Offset(0, 1).Value) <> 0 And VBA.IsNumeric(Target.Offset(0, 1).Value) Then
ActiveSheet.[A1].Value = Target.Offset(0, 1).Value
ActiveSheet.Cells.Rows(1).Interior.ColorIndex = ActiveSheet.[A1].Value
Me.ScrollBar1.Value = 10
End If
End If
End Sub
单击颜色块后,对颜色的一些显式处理,包括滑块按钮,ColorIndex提示值等等。
颜色处理对于设计人员十分有用,这方面需要一个专业的工具来制作是特别好的。
VBA只作为一个功能,使用起来还是有点不太方便。
见仁见智吧!
欢迎关注、收藏
---END---