【发布时间】:2015-02-18 10:57:20
【问题描述】:
我最近开始使用朋友的 excel 项目,制作宏。我主要是通过“录制宏”功能来完成这项工作,因为我不熟悉 Visual Basic 自己编写代码,而且没有足够的时间来学习这门语言。
一切都很顺利,直到我了解到 ctrl-[ 无法在宏内跟踪单元格的先例,因为它只是选择了第一个先例链接到的单元格,并且不会针对未来的先例进行更改。我查找了如何在 Visual Basic 中对其进行编码,最后使用“Selection.Precedents.Select”来跟踪单元格的先例。因为我试图链接到的先例在不同的工作表上(仍在同一个工作簿中),所以它返回“运行时错误'1004':未找到单元格。”
看起来像这样:
Range("U5").Select
Selection.Precedents.Select
因为这不起作用,我转到“公式审核”选项卡上的“跟踪先例”按钮,它能够追溯到另一张表上的先例(ctrl-[也可以选择单元格)。然后,我使用不同的单元格作为同一张表上的先例测试了一个宏(因此 U5 链接到 V5,而不是另一张表上的单元格),并且它能够选择先例单元格。
我做了一些研究,发现了很多答案,只是说“使用 Selection.Precedents.Select”,我做了,但没有用。
编辑: 我得到了它的工作,我必须这样做:
Worksheets("Sensitivity Table").Activate
Range("U5").Select
Range("U5").ShowPrecedents
ActiveCell.NavigateArrow True, 1
可能不是最有效的方法,但据我所知,它有效。您只需要删除代码末尾的箭头即可。
【问题讨论】: