如何用VBA判断Excel特定单元格是否被工作簿中其他图表引用?
解决Excel“追踪从属单元格”无法识别图表引用单元格的问题
Excel自带的追踪从属单元格功能仅能检测到被公式函数引用的单元格,完全遗漏了图表对单元格的引用——这也是很多人误删或修改了被图表依赖的单元格却没提前察觉的原因。
下面提供两种实用方法来定位被图表引用的单元格:
- 直接查看图表数据源
选中目标图表,切换到菜单栏的「图表设计」选项卡,点击「选择数据」,在弹出的对话框里就能清晰看到所有关联的单元格区域,还能按需编辑数据源范围。 - VBA脚本批量检测
用以下VBA代码可以批量遍历工作簿内所有图表,输出它们引用的单元格地址:
运行代码后,打开「立即窗口」(快捷键Ctrl+G)即可查看所有图表的引用详情。Sub FindChartDependents() Dim ws As Worksheet Dim cht As ChartObject Dim srs As Series Dim rng As Range For Each ws In ThisWorkbook.Worksheets For Each cht In ws.ChartObjects Debug.Print "工作表: " & ws.Name & " | 图表名称: " & cht.Name For Each srs In cht.Chart.SeriesCollection On Error Resume Next Set rng = srs.FormulaRanges If Not rng Is Nothing Then Debug.Print " 系列 '" & srs.Name & "' 引用区域: " & rng.Address(False, False, xlA1, True) End If On Error GoTo 0 Next srs Next cht Next ws End Sub
内容的提问来源于stack exchange,提问作者FlorianH
相关产品推荐
相关产品推荐

