主要介绍 Excel(VBA)自定义右键单击菜单以启动宏(示例代码)以及相关的经验技巧

  1. THISWORKBOOK (paste into ThisWorkbook, macros that open and closed menus when launching and closing spreadsheet)

  2. Private Sub Workbook_Open()

  3. MsgBox "You can right-click any worksheet cell" & vbCrLf & _

  4. "to see and / or run your workbook's macros.", 64, "A tip:"

  5. Run "RightClickReset"

  6. Run "MakeMenu"

  7. End Sub

  8. Private Sub Workbook_Activate()

  9. Run "RightClickReset"

  10. Run "MakeMenu"

  11. End Sub

  12. Private Sub Workbook_Deactivate()

  13. Run "RightClickReset"

  14. End Sub

  15. Private Sub Workbook_BeforeClose(Cancel As Boolean)

  16. Run "RightClickReset"

  17. ThisWorkbook.Save

  18. End Sub

  19. 'DEMONSTRATIONMACROS (paste into module DemonstrationMacros, macros you want to launch from the custom menu, these are examples)

  20. Sub Macro1()

  21. MsgBox "This is Macro1.", 64, "Test 1"

  22. End Sub

  23. Private Sub Macro2()

  24. MsgBox "This is Macro2.", 64, "Test 2"

  25. End Sub

  26. Sub Macro3()

  27. MsgBox "This is Macro3.", 64, "Test 3"

  28. End Sub

  29. 'MAINTENANCEMACROS (paste into module MaintenanceMacros, macros for creation and running of custom menu)

  30. Private Sub RightClickReset()

  31. On Error Resume Next

  32. CommandBars("Cell").Controls("Macro List").Delete

  33. Err.Clear

  34. CommandBars("Cell").Reset

  35. End Sub

  36. Private Sub MakeMenu()

  37. Run "RightClickReset"

  38. Dim objCntr As CommandBarControl, objBtn As CommandBarButton

  39. Dim strMacroName$

  40. Set objCntr = _

  41. Application.CommandBars("Cell").Controls.Add(msoControlPopup, before:=1)

  42. objCntr.Caption = "Macro List"

  43. Application.CommandBars("Cell").Controls(2).BeginGroup = True

  44. Dim intLine%, intArgumentStart%, strLine$, objComponent As Object

  45. For Each objComponent In ActiveWorkbook.VBProject.VBComponents

  46. If objComponent.Type = 1 Then

  47. For intLine = 1 To objComponent.CodeModule.CountOfLines

  48. strLine = objComponent.CodeModule.Lines(intLine, 1)

  49. strLine = Trim$(strLine) 'Remove indented spaces

  50. If Left$(strLine, 3) = "Sub" Or Left$(strLine, 11) = "Private Sub" Then

  51. intArgumentStart = InStr(strLine, "()")

  52. If intArgumentStart > 0 Then

  53. If Left$(strLine, 3) = "Sub" Then

  54. strMacroName = Trim(Mid$(strLine, 4, intArgumentStart - 4))

  55. Else

  56. strMacroName = Trim(Mid$(strLine, 12, intArgumentStart - 12))

  57. End If

  58. If strMacroName <> "RightClickReset" And strMacroName <> "MakeMenu" Then

  59. If strMacroName <> "MacroChosen" Then

  60. Set objBtn = objCntr.Controls.Add

  61. With objBtn

  62. .Caption = strMacroName

  63. .Style = msoButtonIconAndCaption

  64. .OnAction = "MacroChosen"

  65. .FaceId = 643

  66. End With

  67. End If

  68. End If

  69. End If

  70. End If

  71. Next intLine

  72. End If

  73. Next objComponent

  74. End Sub

  75. Private Sub MacroChosen()

  76. With Application

  77. Run .CommandBars("Cell").Controls(1).Controls(.Caller(1)).Caption

  78. End With

  79. End Sub

Excel(VBA)自定义右键单击菜单以启动宏(示例代码)相关推荐

  1. 【CAD】【个人习惯】十字光标大小和自定义右键单击

    目录 1. 十字光标大小 2. 自定义右键单击 1. 十字光标大小 在哪里设置呢??? 点击[工具],再点击[选项],点击[显示],再找到[十字光标大小(Z)] 我个人习惯,右边拉满 2. 自定义右键 ...

  2. Win10 自定义右键新建菜单

    Win10 自定义右键新建菜单 regedit打开: 计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ ...

  3. Excel·VBA自定义函数筛选单元格区域重复值

    贴吧提问<哪位大神知道要怎么实现?>,Excel内置函数使用比较麻烦,VBA字典实现比较直观 自定义函数UNIQUE_IF筛选单元格区域中的值,可以选择返回其中的唯一值或重复值,并用分隔符 ...

  4. electron Tary托盘、主菜单、右键单击菜单出现

    main.js const { app, BrowserWindow, Menu } = require('electron') const path = require('path')//引入主菜单 ...

  5. [导入]Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]...

    Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载] 文章来源:http://blog.csdn.net/chengking/archive/2007/0 ...

  6. 【电脑Windows日常】如何在 Windows 11 中自定义右键单击上下文菜单、自定义或者删除右键菜单的选项,包括桌面、文件夹和文件——详细教程(5个方法)

    前言 虽然许多人喜欢Windows 11 的简化右键单击上下文菜单,但有些人对截断的菜单不太满意.让我们看看一些根据您的喜好对其进行自定义的方法. 而且,很多默认的应用会使得右键菜单非常臃肿,需要进一 ...

  7. 一个可以使用多个正则表达式进行多次尝试匹配、替换或提取的Excel VBA自定义函数(UFD)...

    该自定义函数可使用多个正则表达式对目标单元格进行多次匹配尝试,如匹配成功,将停止尝试匹配其他正则表达式,并且使用该正则表达式相对应的替换表达式进行替换,返回替换结果. 您可以直接下载包含该函数代码的X ...

  8. Excel VBA自定义序列排序

    图1 待排序数据集 在图1中所示的数据集中,如果希望按单元格区域E2:E6所列序列进行排序,需要先使用AddCustomList方法为应用程序添加自定义序列,示例代码如下. Sub SortByLis ...

  9. vue 在线聊天实战范例(含选择发送表情、图片、视频、音频,自定义右键快捷菜单,一键复制,左右聊天气泡)

    最终效果 完整代码 index.vue <template><div class="page"><div class="leftBox&qu ...

最新文章

  1. 启动马达接线实物图_东元伺服驱动马达
  2. HBase 架构详解
  3. 华东电脑申威服务器_华东电脑(600850):申威服务器首批量产下线 国产化业务落地里程碑事件[配资公司会议室]...
  4. Python爬取妹子图
  5. 像中文的罗马音字体复制_罗马音字体复制下载
  6. 金融衍生品 matlab,Matlab金融工程教程金融衍生品计算PPT精选文档
  7. 分享《模拟专升本考试排名》
  8. ROS学习笔记(三)—— 话题 topic详解
  9. [C#]Windows服务程序[转载西门吹雪的好文章]
  10. dsp版win10和普通版区别_图文详解win10各个版本之间有什么区别
  11. 1药网用户暴增500% 声网助力打造高质量视频问诊服务
  12. mysql 视图的作用
  13. 策略模式——商品促销
  14. 盖茨基金会参投,专注药物缓释的Lyndra获5500万美元B轮融资|36氪新药新疗法系列...
  15. 计算机组成原理笔试,农村信用社招聘笔试--计算机组成原理重点总结.doc
  16. 腾讯-算法工程师电话面试
  17. 如何让网站更快被百度360神马搜狗收录
  18. 计算机信息系统集成管理能力,信息系统集成资质等级评定条件主要从综合条件、业绩、管理能力、技术实力和人才实力5个方面进行描述。以下 - 信管网...
  19. 码妞:Java那么多锁,能锁住灭霸吗?
  20. JavaSE——基础知识回顾18之网络编程部分

热门文章

  1. SVG: 可伸缩的矢量图形
  2. 车牌自动生成器软件设计与实现
  3. 加减号控制input框里数字的js
  4. 百度AI手写诗文字识别使用攻略
  5. 开发linux学习板子_linux嵌入式开发板推荐,资深程序员教给你
  6. PMP考试经历,实战经验,希望对后来者有用
  7. win8.1中文版升级到win8.1专业版
  8. Actor模型是解决高并发的终极解决方案
  9. 腾讯qq对计算机进行更改,腾讯QQ设置限制异地登陆的操作方法-电脑自学网
  10. SpringBoot使用H2内存数据库单元测试的代码示例