Clever-Excel-Forum

Normale Version: Verknüpfung nicht sichtbar
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
... das ist aber auch schön formuliert:

Code:
Wenn ich mich recht erinnere war es von Hajo - trotzdem ist es nützlich

wobei ich betonen möchte, dass ich das nur zitiere, weil es einer gewissen Komik nicht entbehrt Smile und ich keineswegs irgendwelche fachlichen Qualitäten in Frage stelle (ich denke, Günter hat das auch nicht so gemeint).
Hi Ralf,

Zitat:Meine beiden Dateien sind ca. 3 und 3,6 MB groß mit sehr vielen Hyperlinks und Formeln. Nachdem ich die Test-Seite in die kleinere eingefügt und gestartet habe, dann habe ich nach ca. 1 Stunde abgebrochen. Es stand mmer "Keine Rückmeldung" da.

meine getestete Datei ist 6,5 MB groß, beinhaltet ebenfalls Unmengen Hyperlinks, Formeln (incl. Matrixformeln), bed. Formatierungen und Makros. Nachdem ich das Testblatt in meine Datei kopiert und das Makro gestartet hatte, habe ich im Hintergrund normal weitergearbeitet (teilweise war ich im Forum und habe Dateien getestet, teilweise hatte ich eigene Dateien bearbeitet und auch gestreamte Filmchen waren dabei).

Auf die Uhr habe ich zwar nicht gesehen. Mehr als 1 - 1 1/2 Stunden hatte das Ganze aber nicht gedauert. Nach dieser Zeit musste ich weg, hatte nach dem Nachschauen festgestellt, dass die Rückmeldung wieder vorhanden war und zwei Ergebnisse ausgeworfen waren.
Hi Günter,

(01.05.2015, 10:44)WillWissen schrieb: [ -> ]Auf die Uhr habe ich zwar nicht gesehen. Mehr als 1 - 1 1/2 Stunden hatte das Ganze aber nicht gedauert. Nach dieser Zeit musste ich weg, hatte nach dem Nachschauen festgestellt, dass die Rückmeldung wieder vorhanden war und zwei Ergebnisse ausgeworfen waren.

nach fast drei Stunden ohne Rückmeldung habe ich es wieder abgebrochen.

Ich glaube, ich schicke Dir eine der Dateien mal zu.
Hi Ralf


das Makro durchläuft jede einzelne Zelle der .UsedRange des Arbeitsblattes. Das kannst Du noch einschränken indem du
Code:
               For Each RaZelle In Sh.UsedRange.SpecialCells(xlCellTypeFormulas)
benutzt, jetzt werden nur noch die Zellen untersucht, welche eine Formel haben
 
Um nach Verknüpfungen in Namen zu suchen sollte dies hilfreich sein
Code:
Sub CheckNames()
  Dim Nam As Name
  With Worksheets("Verknüpfungen")
     For Each Nam In ThisWorkbook.Names
        If InStr(Nam.RefersTo, ":\") > 1 Then
           .Cells(.Range("F65536").End(xlUp).Row + 1, 6) = Nam.Name
           .Cells(.Range("F65536").End(xlUp).Row, 7) = "'" & Nam.RefersTo
        End If
     Next
  End With
End Sub
Hallo Winny,

deine Ergänzung bezüglich
Code:
Sh.UsedRange.SpecialCells(xlCellTypeFormulas)

hat nur einen kleinen Haken, der Code bricht mit einer Fehlermekldung ab, wenn er keine Formel gefunden hat! Hier wäre noch eine Fehlerbehandlung sinnvoll.
Hallo Günter

du hast natürlich recht. Man könnte das z.B. so abfangen
Code:
     .
     .
     .
     Dim r As Range
     For Each Sh In Worksheets
        If Sh.Name <> "Verknüpfungen" Then
           'Sh.Unprotect Password:="Cassius"
           On Error Resume Next
           Set r = Sh.UsedRange.SpecialCells(xlCellTypeFormulas)
           On Error GoTo 0
           If Not r Is Nothing Then
              For Each RaZelle In r
                 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
        End If
     Next Sh
  End With
Das Makro wird übrigens wahnsinnig langsam sobald man auch nur eine einzige Bedingte Formatierung im Blatt hat, bei z.B. 1544 Zeilen in nur 2 Spalten mit Formeln verlängert sich die Zeit von knapp 2 Sekunden auf 30Sekunden(Office 2007). Dies kann man verhindern indem man zu Beginn des Makro Application.Calculation = xlCalculationManual setzt, am Ende das Einschalten nicht vergessen
Seiten: 1 2