VBA动态按钮控制台

20 篇文章 2 订阅
16 篇文章 0 订阅

Excel工作表中可用使用两种命令按钮(ActiveX和窗体控件),但是这些按钮外观的定制并不方便,其实Shape对象完全可用作为按钮,使用方法类似窗体控件按钮,并且可用轻松定制其外观。现在需要实现如下效果:

  • 5个按钮作为一组
  • 用户单击某个按钮,此按钮变色并启用3D样式

请添加图片描述

在工作表中创建5个Shape,每个Shape都指定关联ShpBtnClick,选中全部Shape对象组合在一起(假设组名为Group 1)。

示例代码如下:

Sub ShpBtnClick()
    Dim HLColor As Long
    Dim sCaller As String
    Const GROUP = "Group 1"
    HLColor = RGB(0, 255, 0)
    sCaller = Application.Caller
    Sheet1.Shapes(GROUP).ShapeStyle = msoShapeStylePreset9
    With Sheet1.Shapes(sCaller)
        With .Fill
            .Visible = msoTrue
            .ForeColor.RGB = HLColor
            .Transparency = 0
            .Solid
        End With
        With .ThreeD
            .BevelTopType = msoBevelCircle
            .BevelTopInset = 6
            .BevelTopDepth = 6
        End With
    End With
End Sub

【代码解析】
第4行代码指定Shape组的名称。
第5行代码指定被选中按钮的填充颜色。
第6行代码获取被点击按钮(以下简称为选定按钮)的名称。
第7行代码将全部按钮初始化为msoShapeStylePreset9样式。
第8~20行代码修改选定按钮的样式。
第9~14行代码修改选定按钮的填充颜色。
第15~19行代码修改选定按钮的3D显示效果。

示例代码只是实现了选定按钮的外观变化,根据需要实现的不同功能,大家可用再补充相应的功能代码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值