首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Excel VBA事件——ActiveX控件

Excel VBA事件——ActiveX控件

作者头像
xyj
发布2020-07-28 11:24:21
发布2020-07-28 11:24:21
4K0
举报
文章被收录于专栏:VBA 学习VBA 学习

在Excel中,有两种控件,表单控件和ActiveX控件,这两种控件都可以插入在工作表中用来运行程序,至于区别,只需要简单的知道ActiveX控件更复杂一些,可设置的东西也更多,其中也包括了ActiveX控件具有事件。

在工作表中插入1个ActiveX控件命令按钮:

这时候会进入设计模式,双击命令按钮:

代码语言:javascript
复制
Private Sub CommandButton1_Click()

End Sub

会自动跳转到当前工作表的代码编辑页面,同时自动输入了上面的代码,这时候,下拉框里也多了一个CommandButton1:

从右侧的下拉框里可以看到这个CommandButton1所具有的事件,很明显那个自动插入的代码CommandButton1_Click就是鼠标左键单击时候的事件。随便在那里面输入一些代码:

代码语言:javascript
复制
Private Sub CommandButton1_Click()
    MsgBox "CommandButton1_Click"
End Sub

回到Excel工作表界面,点击开发工具下的设计模式,退出设计模式,这时候就可以点击CommandButton1了:

这就是它的1个单击事件,比较简单,和普通的窗体控件的指定宏差不多。

演示一个MouseMove事件:

鼠标移动到它上面,它自动就跑远了。这个就是利用了MouseMove事件,重新设置CommandButton的位置:

代码语言:javascript
复制
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    '初始化随机种子
    VBA.Randomize
    
    '设置按钮的Top属性
    CommandButton1.Top = Int(Rnd() * 300)
    
    '设置按钮的Left属性
    CommandButton1.Left = Int(Rnd() * 500)
End Sub
  • Rnd函数返回一个0到1之间的随机小数
  • Int取小数的整数部份

这样就达到了位置随机设置的目的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 VBA 学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档