Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Verknüpfungen finden und löschen

    Betrifft: Verknüpfungen finden und löschen von: MichaelK
    Geschrieben am: 29.09.2003 09:49:06

    Hallo Zusammen,

    ein wahrscheinlich einfach zu lösendes Problem, zu dem ich aber keine Lösung im Archiv finden konnte:

    Wie kann ich in einer alten Excel-Datei, die aus mehreren Tabellen besteht Verknüpfungen zu externen Dateien finden. Über Menü/Bearbeiten/Verknüfungen finde ich zwar die externen Bezüge, aber nicht die Tabellen, aus denen ich die Verknüpfungen löschen kann.

    Besten Dank im voraus für eine schnelle Rückinfo

    Michael

      


    Betrifft: AW: Verknüpfungen finden und löschen von: Hajo_Zi
    Geschrieben am: 29.09.2003 11:07:14

    Hallo Mchael

    lasse folgendes Makro laufen

    Sub Verknüpfte_Zellen()
    '   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
    


    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.

    Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

    Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
    Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
    Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
    Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


    http://home.media-n.de/ziplies/



      


    Betrifft: AW: Verknüpfungen finden und löschen von: MichaelK
    Geschrieben am: 29.09.2003 11:16:58

    Danke!

    Klasse ist insbes. die vorherige Abfrage. Wer die nicht braucht kann es auch so versuchen:

    Sub externe_Verknüpfungen_entfernen()
    'Variablen dimensionieren
    Dim zelle As Range
    
    'Alle Zellen nach den Zeichen "=" und "[" durchsuchen
    For Each zelle In Worksheets(1).UsedRange
        If Left(zelle.Formula, 1) = "=" And InStr(zelle.Formula, "[") > 1 Then
           zelle.Value = zelle.Value
        End If
    Next zelle
    End Sub
    


    Gruss
    Michael


     

    Beiträge aus den Excel-Beispielen zum Thema " Verknüpfungen finden und löschen"