Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
... 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
und ich keineswegs irgendwelche fachlichen Qualitäten in Frage stelle (ich denke, Günter hat das auch nicht so gemeint).
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
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.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Günter,
(01.05.2015, 11: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.
Registriert seit: 30.01.2015
Version(en): 2013
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
Registriert seit: 11.04.2014
Version(en): 2021
02.05.2015, 18:29
(Dieser Beitrag wurde zuletzt bearbeitet: 02.05.2015, 18:42 von Glausius.)
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.
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Registriert seit: 30.01.2015
Version(en): 2013
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