工作表中任意单元格都可以输入公式,公式引用的单元格可以是在同一个工作表内,也可以是在不同的工作表内。
excel中提供了一个“公式审核”功能可以查找“追踪引用单元格”和“追踪从属单元格“,如下图所示:
比如在”sheet2″工作表的单元格A1中输入公式“=Sheet1!A1”,那么在”sheet1”工作表的A1单元格中使用“追踪从属单元格”,将显示如下图所示的追踪箭头,指向”sheet2″工作表的单元格A1。
通过显示追踪从属单元格可以知道当前工作表的单元格是否有被其它单元格引用的,如果有显示后将会在工作表上显示指示箭头,通过指示箭头的数量的变化,可以判断是否存在被其它工作表单元格引用的公式。
vba中可以通过range对象的 ShowPrecedents方法和ShowDependents方法显示相关的单元格公式引用。
以下是一个范例代码:
Sub xyf() Dim oWK As Worksheet Set oWK = ActiveSheet oWK.ClearArrows Dim oRng As Range Set oRng = oWK.UsedRange Dim oCell As Range For Each oCell In oRng oCell.ShowPrecedents Next i1 = oWK.Shapes.Count For Each oCell In oRng oCell.ShowDependents Next i2 = oWK.Shapes.Count If i1 <> i2 Then MsgBox "当前工作表存在被其它工作表引用的单元格,不能删除" End Sub
发表评论