当前位置:首页>科技>vba代码注释怎么操作如何自定义鼠标右键功能
发布时间:2026-07-25阅读(0)
本文介绍一个实用功能,严格来说认真研究,包含了不止一种实用功能。
鼠标右键作为快捷方式的一个入口,很多问题可以得到解决,同理,Excel应用中也有其特定的右键功能,当然了,这些功能都是程序内置的一些常用项目。
在工作当中,我们可能用到一些本职相关的一些功能,如何来添加到右键功能里来进行操作就显得很重要了。

下面根据VBA的一些代码,来实现这样的应用解决方案。
如下图所示,对话框是通过右键来弹出的,并不是Excel默认的功能项目,我们将学会如何实现这样的效果。
其中,设置了一些按钮,按钮有一些功能,可以实现添加数据、删除数据、设置单元格颜色等等操作。
如果愿意,可以对按钮事件进行编程,以实现自己想要的功能。

本示例右键以窗体形式给出,如下图所示:

这个窗体需要手动来制作,其过程就不在此介绍了。
重点看下,如何实现单击右键弹出它来,并且屏蔽掉默认右键。
代码:
Option ExplicitPrivate Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)自定义右键功能 Cancel = True 默认右键不弹出 Dim tx As Double, lx As Double tx = Application.Windows(1).Height - Windows(1).UsableHeight lx = Application.Windows(1).Width - Windows(1).UsableWidth Dim tr As Double, tc As Double tr = Target.Left lx 定位窗体左边距 tc = Target.Top Target.Height 定位窗体上边距 Dim fObj As Object Set fObj = UserForm1返回窗体给变量fObj With fObj .Left = tr左侧位置 .Top = tc顶部位置 .Width = 200窗体宽度 .Height = 320窗体高度 .Caption = "功能项目" .CommandButton1.Caption = "当前文件格式代码:" & ThisWorkbook.FileFormat .CommandButton2.Caption = "当前位置坐标:" & ActiveCell.Top & "," & ActiveCell.Left .CommandButton3.Caption = "设置背景颜色" .CommandButton4.Caption = "清除颜色" .CommandButton5.Caption = "清除内容" .CommandButton6.Caption = "关 闭" .Show显示窗体 End With Set fObj = Nothing清除变量End Sub

如上代码所示,在Worksheet_BeforeRightClick事件中进行编辑,这个是固定的,也就是当工作表右键被单击时发生的事件,代码一定要写在这里。
此事件有两个参数传递,一个是Target,另一个是Cancel。前者是一个Range对象,后者是一个布尔变量。
当变量Cancel值为True时,将不弹出默认右键。
变量Target为鼠标按下时离鼠标最近的单元格Range对象。
通过这两个变量,可以实现一些相应的功能编码。
如本文中,取鼠标位置,定位窗体位置,设置单元格内容等,都用到了这两个变量。
代码中有注释,可以参考对比。
这样的一个示例对于制作快捷输入,还是十分有用的,特别是在一些常规性操作重复性比较大的情况下。
欢迎关注、收藏
---END---
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图