Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1371|回复: 6

[已解决]各位大神,有没有哪个可以把表单控件绑定事件

[复制链接]
发表于 2021-11-10 23:57 | 显示全部楼层 |阅读模式
activex控件能够响应事件是都知道的了,但是稳定性不太好,表单控件要稳定一些,也容易一些,但是好像是不能绑定事件的,请问有没有什么巧妙的办法可以实现我要的功能,问题在表格里面,下载附件后就可以看到了,先谢谢大家了。
最佳答案
2021-11-11 20:37
这个意思吗?
Sub 添加按钮()
Dim oListBox As Shape
    For Each oListBox In Sheet8.Shapes
        If oListBox.Type = msoOLEControlObject Or oListBox.Type = msoFormControl Then
            oListBox.Delete
        End If
    Next
Dim bj As Object
Dim arr
arr = Array("一", "二", "三", "四", "五", "六")
For i = LBound(arr, 1) To UBound(arr, 1)
     Set bj = ActiveSheet.Buttons.Add(80, ActiveCell.Offset(i * 2, 1).Top, 50, 25)
     With bj
     .OnAction = "xx"
     .Name = "按钮" & arr(i)
      .Caption = arr(i)
End With
Set bj = Nothing
Next i
End Sub

Sub xx()
  ActiveCell = ActiveSheet.Buttons(Application.Caller).Caption
End Sub

添加表单控件并绑定事件.rar

22.4 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2021-11-11 17:47 | 显示全部楼层
副本0.jpg 根据 当前需求,

通常 的思路 是 加载一个窗体 , 而不是分别加6个按钮

回复

使用道具 举报

发表于 2021-11-11 20:27 | 显示全部楼层
回复

使用道具 举报

发表于 2021-11-11 20:37 | 显示全部楼层    本楼为最佳答案   
这个意思吗?
Sub 添加按钮()
Dim oListBox As Shape
    For Each oListBox In Sheet8.Shapes
        If oListBox.Type = msoOLEControlObject Or oListBox.Type = msoFormControl Then
            oListBox.Delete
        End If
    Next
Dim bj As Object
Dim arr
arr = Array("一", "二", "三", "四", "五", "六")
For i = LBound(arr, 1) To UBound(arr, 1)
     Set bj = ActiveSheet.Buttons.Add(80, ActiveCell.Offset(i * 2, 1).Top, 50, 25)
     With bj
     .OnAction = "xx"
     .Name = "按钮" & arr(i)
      .Caption = arr(i)
End With
Set bj = Nothing
Next i
End Sub

Sub xx()
  ActiveCell = ActiveSheet.Buttons(Application.Caller).Caption
End Sub

评分

参与人数 2学分 +4 收起 理由
砂海 + 2 学习了
cutecpu + 2 学习了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2021-11-12 23:33 | 显示全部楼层
大灰狼1976 发表于 2021-11-11 20:37
这个意思吗?
Sub 添加按钮()
Dim oListBox As Shape

确实是太厉害了,这个问题居然都可以做出来,我都问了好多人都没有把这个问题帮我解决
回复

使用道具 举报

 楼主| 发表于 2021-11-12 23:38 | 显示全部楼层
天门白云 发表于 2021-11-12 23:33
确实是太厉害了,这个问题居然都可以做出来,我都问了好多人都没有把这个问题帮我解决

请问你是在哪里学习的这么多的vba的知识的,怎样可以获取到这些知识
回复

使用道具 举报

发表于 2021-11-13 17:52 | 显示全部楼层
天门白云 发表于 2021-11-12 23:38
请问你是在哪里学习的这么多的vba的知识的,怎样可以获取到这些知识

也没啥,学习就是一个积累经验的过程,遇到的多了,明白的也就稍微多一点。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-16 22:22 , Processed in 0.136250 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表