作者:绿色风
分类:
时间:2022-08-17
浏览:163
楼主 0Mouse |
Q:如何在右键菜单中添加三个命令选项以实现三个指定单元格区域的快速跳转呢? 示例要求:在右键菜单中添加三个命令选项,单击后分别实现如下效果: 点击第一个命令选项后,当前视图左下角为A列最后一个非空单元格; 点击第二个命令选项后,视图左上角单元格为AX7单元格; 点击第三个命令选项后,视图左上角为AA1单元格。 A:ThisWorkbook内代码如下:- Private Sub Workbook_Open()
- Dim cmp As CommandBarPopup
- Application.CommandBars("Cell").Reset
- Set cmp = Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1, temporary:=True)
- With cmp
- .Caption = "快速定位"
- With .Controls.Add(Type:=msoControlButton, before:=1)
- .Caption = "A列末"
- .FaceId = 39
- .OnAction = "pos1"
- End With
- With .Controls.Add(Type:=msoControlButton, before:=2)
- .Caption = "AX7"
- .FaceId = 39
- .OnAction = "pos2"
- End With
- With .Controls.Add(Type:=msoControlButton, before:=3)
- .Caption = "AA1"
- .FaceId = 39
- .OnAction = "pos3"
- End With
- End With
- Set cmp = Nothing
- End Sub
模块1内代码如下:- Sub pos1()
- Dim r&, vc%
- On Error Resume Next
- r = Cells(Rows.Count, 1).End(xlUp).Row
- vc = ActiveWindow.VisibleRange.Rows.Count
- If [A1] = "" Or r + 1 - vc <= 1 Then
- Application.Goto [A1], True
- Else
- Application.Goto Range("A" & r + 2 - vc), True
- End If
- End Sub
- Sub pos2()
- Application.Goto [AX7], True
- End Sub
- Sub pos3()
- Application.Goto [AA1], True
- End Sub
效果预览:
附件: 在右键菜单中添加三个命令选项以实现三个指定单元格区域的快速跳转.rar |
2楼 亡者天下 |
过来学习一下 |
3楼 海洋之星 |
这主是传说中的Word的VBA吗 |
4楼 eliane_lei |
小千V5~进来学习 |
5楼 老糊涂 |
学习一下 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一