David正确地指出,Excel提供了审核工具(Trace Dependents和Trace Precedents),它们是跟踪大型工作表中正在发生的事情的非常有用的方法。但是,实际的界面仅列出了一个小区域中的单元,David不能轻易地复制此单元列表以进行分析和操作。当他在大型工作表中的重要单元格上使用“跟踪依赖项”时,小型对话框可能包含数百个引用。大卫想知道是否存在相对简单的方法来将这些信息转换为更可用的格式,例如空白工作表或其他工作簿。

显然,没有办法使用本机Excel命令执行此操作,但是您可以创建一个宏来提取所需的信息。下面的宏将列出在运行宏时选择的任何单元格的相关单元格:

Sub ListDependents()

Dim rArea As Range     Dim rCell As Range     Dim sActiveCell As String     Dim rDep As Range     Dim lRow As Long

On Error Resume Next     Set rDep = ActiveCell.Dependents     If rDep Is Nothing Then         MsgBox ActiveCell.Address(False, False) & _           " has no dependents"

Exit Sub     End If

On Error GoTo 0     sActiveCell = ActiveCell.Address(False, False)

Worksheets.Add     lRow = 1     Cells(lRow, 1).Value = "Dependents for " & sActiveCell     For Each rArea In rDep         For Each rCell In rArea             lRow = lRow + 1             Cells(lRow, 1) = rCell.Address(False, False)

Next     Next     Set rArea = Nothing     Set rCell = Nothing     Set rDep = Nothing End Sub

第一次运行宏时,它将检查该单元格是否有任何依赖项。如果没有,则通知您并且退出宏。如果有依赖项,则将新工作表添加到工作簿中,并将单元格的依赖项添加到工作表中。

如果您希望宏代替列出先例,则只需将宏中“ Dependents”的所有实例更改为“ Precedents”。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3121)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: