如果您想走验证路径,那么我建议您:
- 使用如下代码来验证每个链接是否完整。此代码片段标识了链接文件与“摘要文件”不位于同一目录中的位置
- 您可以添加一个更新有效链接工作簿的后续部分,然后跳过错误
- 如果工作表已重命名但链接源有效,Excel 将提示您选择要链接到的工作表
- 这仍然会使您暴露在人们在馈线表中移动数据的情况下,尤其是在可以插入或删除行和列的情况下。
- 预防问题比故障保险好得多。最好的选择是在所有馈送工作簿上使用单个工作表来合并要链接到摘要文件的数据,然后将此工作表完整导入到摘要文件中。这意味着人们可以
在不影响合并数据表的情况下
识别缺失链接的代码
'查找源文件与摘要文件不在同一目录中的位置
Dim vLinkArr()
Dim lngLink As Long
Dim strMsg As String
Dim strGoodMsg As String
On Error Resume Next
vLinkArr = ThisWorkbook.LinkSources
On Error GoTo 0
If IsEmpty(vLinkArr) Then Exit Sub
For lngLink = 1 To UBound(vLinkArr)
If Left$(vLinkArr(lngLink), InStrRev(vLinkArr(lngLink), "\") - 1) <> ThisWorkbook.Path Then
If InStr(Left$(vLinkArr(lngLink), InStrRev(vLinkArr(lngLink), "\") - 1), ThisWorkbook.Path) = 0 Then
strMsg = strMsg & vLinkArr(lngLink) & vbCrLf
Else
strGoodMsg = strGoodMsg & vLinkArr(lngLink) & Chr(10)
End If
Else
strGoodMsg = strGoodMsg & vLinkArr(lngLink) & Chr(10)
End If
Next
If strMsg <> vbNullString Then MsgBox strMsg