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跟踪器中,当我解决问题时跳转到该行.
为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方法应该可以工作.
不知道。您可以从编辑工具栏中使用书签。如果未显示您的编辑工具栏,请转到“视图”下拉菜单并选择“工具栏”,然后选择“编辑”。
书签工具在菜单的右侧。
这样,您便可以在代码中的任意位置放置书签。然后,您可以通过点击前进或后退书签箭头在它们之间移动。