ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何在右键菜单中添加三个命令选项以实现三个指定单元格区域的快速跳转呢?

如何在右键菜单中添加三个命令选项以实现三个指定单元格区域的快速跳转呢?

作者:绿色风 分类: 时间:2022-08-17 浏览:163
楼主
0Mouse
Q:如何在右键菜单中添加三个命令选项以实现三个指定单元格区域的快速跳转呢?
示例要求:在右键菜单中添加三个命令选项,单击后分别实现如下效果:
点击第一个命令选项后,当前视图左下角为A列最后一个非空单元格;
点击第二个命令选项后,视图左上角单元格为AX7单元格;
点击第三个命令选项后,视图左上角为AA1单元格。
A:ThisWorkbook内代码如下:
  1. Private Sub Workbook_Open()
  2. Dim cmp As CommandBarPopup
  3. Application.CommandBars("Cell").Reset
  4. Set cmp = Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1, temporary:=True)
  5.     With cmp
  6.         .Caption = "快速定位"
  7.         With .Controls.Add(Type:=msoControlButton, before:=1)
  8.             .Caption = "A列末"
  9.             .FaceId = 39
  10.             .OnAction = "pos1"
  11.         End With
  12.         With .Controls.Add(Type:=msoControlButton, before:=2)
  13.             .Caption = "AX7"
  14.             .FaceId = 39
  15.             .OnAction = "pos2"
  16.         End With
  17.         With .Controls.Add(Type:=msoControlButton, before:=3)
  18.             .Caption = "AA1"
  19.             .FaceId = 39
  20.             .OnAction = "pos3"
  21.         End With
  22.     End With
  23. Set cmp = Nothing
  24. End Sub
模块1内代码如下:
  1. Sub pos1()
  2. Dim r&, vc%
  3. On Error Resume Next
  4. r = Cells(Rows.Count, 1).End(xlUp).Row
  5. vc = ActiveWindow.VisibleRange.Rows.Count
  6. If [A1] = "" Or r + 1 - vc <= 1 Then
  7.     Application.Goto [A1], True
  8. Else
  9.     Application.Goto Range("A" & r + 2 - vc), True
  10. End If
  11. End Sub

  12. Sub pos2()
  13.     Application.Goto [AX7], True
  14. End Sub

  15. Sub pos3()
  16.     Application.Goto [AA1], True
  17. 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总版主之一

评论列表
sitemap