领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

VBA编程,颜色选择编辑器的使用方法,xlDialogEditColor

nixiaole 2024-11-13 14:02:41 知识剖析 21 ℃

Excel对颜色的选择是有一个内置的颜色选择窗体,也可以进行颜色编辑,选择自己想要的颜色。

这一点,使用过Excel的人,都知道。

本文介绍如何利用VBA来对颜色进行一个选择设置。

如下图所示,制作了一个颜色选择按钮,另一个按钮把Excel内置的56种颜色进行了一下自动提取,当然,这些颜色并不是固定的,当你对其中的一些进行修改的时候,它会变化并且做为固定颜色保存下来。

我们主要的学习内容就是如何把这些颜色应用到工作表当中。

具体实现过如下代码

选择颜色

Option Explicit
Private Sub SelectColors()
On Error Resume Next
Dim xDia As Object, xColor As Long
xColor = ActiveWorkbook.Colors(9)'保存第9个颜色值
 Set xDia = Application.Dialogs(xlDialogEditColor)
 If xDia.Show(1) = True Then'如果单击了确定按钮
    Selection.Interior.Color = ActiveWorkbook.Colors(1)'设置第一个颜色块为背景颜色
 Else
    'MsgBox "取消按钮,不选择任何颜色!"
 End If
 ActiveWorkbook.Colors(9) = xColor'第9个颜色块复位
 Set xDia = Nothing
End Sub

列出56种颜色

Private Sub CommandButton2_Click()
Dim R As Range, ri As Integer
Set R = ActiveSheet.Range("B2")
R.Value = "序号"
R.Offset(0, 1).Value = " 颜 色 "
R.Offset(0, 2).Value = "值"
For ri = 1 To 56
    With R.Offset(ri, 0)
        .Value = ri
        .Offset(0, 1).Interior.Color = ActiveWorkbook.Colors(ri)'设置背景颜色
        .Offset(0, 2).Value = ActiveWorkbook.Colors(ri)
    End With
Next ri
With R.Offset(1, 0).Resize(56, 3)
    .RowHeight = 20
    .Columns.AutoFit
    .VerticalAlignment = xlCenter
    .HorizontalAlignment = xlCenter
    .Columns(3).HorizontalAlignment = xlLeft
End With
Set R = Nothing
End Sub

显示Excel内置颜色使用到了一个对象:Colors

Colors对象是WorkBook对象下Color属性返回,如:

ActiveBook.Colors(n) 返回第n个颜色块的颜色值,n取值范围1~56。

也就是说调色板中共有56种颜色,也可以通过代码来修改这56种颜色。

ActiveWorkbook.Colors(9)=556688

这行代码就把调色板中的第9个颜色块修改成了颜色值为556688。

清除颜色

清除颜色很简单只有一行代码即可实现。

Selection.Interior.ColorIndex = xlColorIndexNone

颜色的使用在编程当中要熟练应用,对于可视化数据制作有一个极大的帮助作用,对于颜色敏感度高的人来说是一个很好的学习内容。

如果要制作出精美的Excel表格,那是必不可少要掌握的内容。

欢迎关注、收藏

---END---

最近发表
标签列表