如何在VBA编辑器中跳转到行号?

sig*_*gil 11 excel vba excel-vba office-2010

我在Office 2010中使用VBA.在顶部,有一个包含行号和列号的框,例如:

Ln 1480, Col 17
Run Code Online (Sandbox Code Playgroud)

有没有办法在代码编辑中直接跳转到另一个行号(而不是执行中),就像我Ctrl+G在记事本中使用的那样? 这个MSDN答案表明它不可能,但我希望有人找到了一种方法来进行这种编辑器导航.

我知道可以在下拉列表中单击一个过程名称,但不幸的是我正在使用一些长达几百行的过程,直到我对它们进行重构,能够包含一个行号会很棒在我的bug跟踪器中,当我解决问题时跳转到该行.

Bla*_*awk 9

为VBA IDE制作自己的JumpToLine过程

创建一个名为的新模块mdlJumpToLine并添加以下方法:

Public Sub JumpToLine(line As Long)
    Application.VBE.ActiveCodePane.SetSelection line, 1, line, 1
End Sub
Run Code Online (Sandbox Code Playgroud)

例如,如果要跳转到当前代码窗格中已打开的代码模块或类中的1,234行,请键入JumpToLine 1234立即窗口并按Enter键.如果该行已在视图中,则不执行任何操作,但如果该行不在屏幕上,则会自动滚动到屏幕中心

信任对VBA项目对象模型的访问

如果出现此错误,"对象'_Application'的方法'VBE'失败",则必须以编程方式访问受信任的VBE.您可以通过(在Excel 2007中)进入主Excel窗口(而不是VBA IDE)并单击"文件"--->"选项"--->"信任中心"--->"信任中心设置" "--->"宏设置"并选中"信任访问VBA项目对象模型"复选框.从那时起,JumpToLine方法应该可以工作.


Mat*_*ewD 5

不知道。您可以从编辑工具栏中使用书签。如果未显示您的编辑工具栏,请转到“视图”下拉菜单并选择“工具栏”,然后选择“编辑”。

书签工具在菜单的右侧。

在此处输入图片说明

这样,您便可以在代码中的任意位置放置书签。然后,您可以通过点击前进或后退书签箭头在它们之间移动。