如题所述
第1个回答 2014-02-14
这个问题问的好,很典型!
Sub 查找工作表引用单元格()Dim qsh As Integer, qsl As Integer, hs As Long, ls As Long '定义数据区域的起始行、起始列、行数、列数
Debug.Print ActiveSheet.Name, ActiveSheet.UsedRange.Address
qsh = ActiveSheet.UsedRange.Column
qsl = ActiveSheet.UsedRange.Column
hs = ActiveSheet.UsedRange.Rows.Count
ls = ActiveSheet.UsedRange.Columns.Count
Debug.Print qsh, qsl, hs, ls
For j = qsl To (qsl + ls - 1) '先列
For i = qsh To (qsh + hs - 1) '后行
If ActiveSheet.Cells(i, j).HasFormula Then '判断单元格是否包含公式
ActiveSheet.Cells(i, j).ShowPrecedents '显示追踪引用箭头
ActiveSheet.Cells(i, j).DirectPrecedents.Interior.Color = RGB(146, 208, 80) '浅绿色
End If
Next
Next
End Sub
Sub 查找工作簿引用单元格()
For n = 1 To ActiveWorkbook.Worksheets().Count
Worksheets(n).Activate '逐个选中工作表进行设置
Call 查找工作表引用单元格
Next
Worksheets(1).Activate
End Sub
如果不想显示追踪引用箭头,注释掉这一行即可。
您好,跨表还是不能实现喔,(要能在工作簿当中任意实现该功能)谢谢。
追答如果是跨表引用,确实不能实现。
如果想随时使用这项功能,知道什么叫加载宏吗,自己去研究吧。