Excel精英培训网

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

[已解决]自定义工具栏提取按钮名称和宏

[复制链接]
发表于 2011-4-24 16:18 | 显示全部楼层 |阅读模式
5学分
问题请教如下:

该工作薄内含自己自定义的工具栏——“学习”
现在希望可以把工具栏里面的按钮,全部放在当前的工作表内
实现的目的即
1.在当前工作表内新建多个控件按钮,如旁边的按钮
2.提取自定义工具栏“学习”里面的按钮的名称,及该按钮指向的宏过程
3.为上面1新建的按钮变更名称在2提取的名称,并指向改名称指定的宏
操作好像很复杂,不知道可不可以实现。
谢谢大虾了。

如果可以分步骤,关键是第2步最难,剩下的自己语句要简单些

工具栏转.rar (8.1 KB, 下载次数: 25)

最佳答案

查看完整内容

详见附件!
发表于 2011-4-24 16:18 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2.   Dim pop As CommandBarPopup
  3.   Dim cmb As CommandBarButton
  4.   Dim mc As CommandBarControl
  5.   Dim mb As Shape, n As Long, rng As Range

  6.   For Each mc In CommandBars("学习").Controls
  7.       Select Case TypeName(mc)
  8.       Case "CommandBarPopup"
  9.            For Each cmb In mc.Controls
  10.                GoSub SettingControls
  11.            Next
  12.       Case "CommandBarButton":
  13.            Set cmb = mc
  14.            GoSub SettingControls

  15.       End Select
  16.   Next

  17. Exit Sub
  18. SettingControls:
  19.   n = n + 1
  20.   Set rng = Cells(n * 2, "H")
  21.   Dim mk As Shape
  22.   For Each mk In Sheet3.Shapes
  23.       If mk.TextFrame.Characters.Text = cmb.Caption Then mk.Delete
  24.   Next
  25.   Set mb = Sheet3.Shapes.AddFormControl(xlButtonControl, Left:=rng.Left, Top:=rng.Top, Width:=50, Height:=30)
  26.       mb.TextFrame.Characters.Text = cmb.Caption
  27.       mb.OnAction = cmb.OnAction
  28.   Return
  29. End Sub

复制代码


详见附件!

工具栏转.rar

11.96 KB, 下载次数: 52

评分

参与人数 2 +18 金币 +18 收起 理由
FF7 + 18 很给力!
xdwy81129 + 18 这个都做到了,太厉害了,要好好学习

查看全部评分

回复

使用道具 举报

发表于 2013-5-7 11:14 | 显示全部楼层
这个例子很特别,收藏备用

评分

参与人数 1 +10 收起 理由
xdwy81129 + 10 祝愿学习愉快

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 19:52 , Processed in 0.161702 second(s), 17 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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