我有一个 Excel 电子表格,其中有一些我无法删除的外部链接。
我在网上读了很多资料,Microsoft 建议如下:
- 对于单元格中的引用:使用搜索和替换 [*] 来查找工作表单元格中的所有引用。
- 对于名称中的引用:打开名称管理器并确保其中没有外部引用。
- 对于对象中的引用(这真的很痛苦):单独选择每个对象并在公式栏中查看。
- 对于图表中的参考(也很痛苦):检查公式栏中每个图表的标题和数据系列。
这仍然让我找不到幻影外部引用,所以我尝试了更多方法
答案1
对于花费数小时梳理文件的其他人来说,如果您从另一个工作簿复制了数据验证范围,也可能存在问题。
要解决这个问题 :
功能区-->文件-->检查问题-->检查兼容性
这将调出检查器,告诉您验证是否指向外部工作表。
最重要的是,它会告诉您它在哪张表上。
无论如何,一旦你知道了工作表,就去工作表。现在
功能区-->主页-->查找和选择旁边的向下箭头-->数据验证。
这将选择已应用数据验证的单元格。
现在
功能区-->数据-->数据验证
并修复“源”字段中的损坏的引用,如果不需要,请单击“全部清除”。
答案2
最后我将其归结为条件格式规则。
点击“主页-条件格式-管理规则”会弹出下面的对话框,比较容易浏览和替换外部引用。
答案3
如果工作簿很大,则不容易找到具有外部引用的格式条件。我编写了这个 VBA 函数来查找它。限制为 80 列和 500 行以减少执行时间。当函数停止时,您可以检查位置询问:
?foglio.name
?cella.row
?cella.column
Public Function CercaLink()
Dim Cella As Object, i&, Foglio As Object
For Each Foglio In ActiveWorkbook.Sheets
ActiveWorkbook.Sheets(Foglio.Name).Select
For Each Cella In ActiveSheet.Cells
If Cella.Column < 80 Then
If Cella.FormatConditions.Count > 0 Then
For i = 1 To Cella.FormatConditions.Count
If InStr(1, Cella.FormatConditions(i).Formula1, ":\") > 0 Then Stop
Next
End If
End If
If Cella.Row > 500 Then Exit For
Next
Next
End Function