柏虎资源网

专注编程学习,Python、Java、C++ 教程、案例及资源

如何选择自己喜欢的颜色,这个VBA颜色选择器一定要学会

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---

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言