uralte Verknüpfungen
20.06.2006 10:12:08
Ron
im Forum habe ich schon viele gute Tipps gefunden, auch zu verlorenen Verknüpfungen. Trotzdem meine Frage.
Beim Öffnen meiner Mappe fragt mich Excel, ob ich Verknüpfungen zu längst nicht mehr existierenden Mappen aktualisieren will.
Das Makro findet die Verknüpfungen mit vollständiger Pfadangabe, zeigt aber nicht, wo sie stehen:
Sub Verknüpfung()
Dim aLinks, i as Integer
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
For i = 1 To UBound(aLinks)
MsgBox "Link " & i & ":" & Chr(13) & aLinks(i)
Next i
End If
End Sub
Das Makro von Hajo, das ich auch aus dem Archiv habe, findet die Verknüpfungen leider nicht:
In Arbeitsmappe und allen Tabellen:
Option Explicit
In ein Modul
Option Explicit
Sub Verknüpfte_Zellen()
' erstellt von Hajo.Ziplies@web.de 22.08.03
' <a href="http://home.media-n.de/ziplies/">http://home.media-n.de/ziplies/</a>
' Verknüpfungen auflisten
Dim RaZelle As Range
Dim ByMldg As Byte
Dim Sh As Worksheet
For Each Sh In Worksheets
If InStr(Sh.Name, "Verknüpfungen") > 0 Then
ByMldg = MsgBox("Eine Tabelle mit dem Namen Verknüfungen ist schon" _
& " vorhanden, solleb die Daten gelöscht werden", vbYesNo + vbQuestion, "Löschabfrage ?", "", 0)
If ByMldg = 6 Then
Sh.Cells.Delete
ByMldg = 45
Exit For
Else
Exit Sub
End If
End If
Next Sh
If ByMldg <> 45 Then
Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Verknüpfungen"
End If
With Worksheets("Verknüpfungen")
.Cells(1, 1) = "Zelle"
.Cells(1, 2) = "Tabelle"
.Cells(1, 3) = "Formel"
For Each Sh In Worksheets
If Sh.Name <> "Verknüpfungen" Then
For Each RaZelle In Sh.UsedRange
If Left(RaZelle.Formula, 1) = "=" And _
InStr(RaZelle.Formula, ":\") > 1 Then
.Cells(.Range("A65536").End(xlUp).Row + 1, 1) = RaZelle.Address(0, 0)
.Cells(.Range("A65536").End(xlUp).Row, 2) = Sh.Name
.Cells(.Range("A65536").End(xlUp).Row, 3) = "'" & RaZelle.Formula
End If
Next RaZelle
End If
Next Sh
End With
End Sub
Könnt Ihr mir weiterhelfen, wo ich die Verknüpfungen finden und löschen kann?
Gruß Ron