Gruppe
Allgemein
Problem
Wie kann ich mir Namensverknüpfungen auf anderen Arbeitsmappen anzeigen lassen und diese auf Wunsch löschen?
StandardModule: basMain
Sub DeleteLinkNames()
Dim nmeLink As Object
Dim intCounter As Integer, intStart As Integer
Dim strMsg As String, strBook As String, strWks As String
Dim strRng As String
Dim bln As Boolean
bln = True
For Each nmeLink In ActiveWorkbook.Names
If InStr(nmeLink.RefersTo, "[") > 0 Then
bln = False
intCounter = InStr(nmeLink.RefersTo, "[") + 1
intStart = InStr(nmeLink.RefersTo, "]") - 1
strBook = Mid(nmeLink.RefersTo, intCounter, intStart - intCounter + 1)
intCounter = InStr(nmeLink.RefersTo, "!")
strWks = Mid(nmeLink.RefersTo, intStart + 2, intCounter - intStart - 2)
If Right(strWks, 1) = "'" Then
strWks = Left(strWks, Len(strWks) - 1)
End If
strRng = Mid(nmeLink.RefersTo, intCounter + 1, Len(nmeLink.RefersTo))
strMsg = "Name: " & UCase(nmeLink.Name) & Chr(13) & _
"Arbeitsmappe: " & UCase(strBook) & Chr(13) & _
"Tabellenblatt: " & UCase(strWks) & Chr(13) & _
"Bezug: " & strRng & Chr(13) & Chr(13) & _
"Name löschen?"
If MsgBox(strMsg, 292) = vbYes Then
nmeLink.Delete
End If
End If
Next nmeLink
If bln = True Then
MsgBox "Keine Namen gefunden, die auf eine" & Chr(13) & _
"andere Arbeitsmappe verweisen!"
End If
End Sub