Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Hyperlinks testen

Hyperlinks testen
Pascal
Guten Tag liebe VBA – Profis
 
Ich bin guter Hoffnung, dass mir hier jemand von Euch weiterhelfen kann.
 
In einer grossen Arbeitsmappe hab ich unzählige Tabellenblätter / Register auf welchen in unterschiedlichsten Zellen / Spalten Hyperlinks oder sonstiger
Text abgelegt ist.
 
Ich habe u.a. folgenden Code in dieser Excel-Arbeitsmappe hinterlegt um auf allen Tabellenblätter / Register in allen Zellen / Spalten nach den Hyperlinks zu suchen und
diese Hyperlinks auf ihre funktionstüchtigkeit hin zu überprüfen:
 
Private Sub CommandButton1_Click()
' Hyperlinks werden alle geprüft und Prüfresultat in neuer Tabelle ausgegeben
'Folgende Rubriken können dann ausgeblendet werden:
'THM2011
'CBU
'F_SAPline D5
'D_SAPline D5
'D_Passwordverwaltung
'F_Passwordverwaltung
    Dim SH As Object
    Dim shLinkList As Worksheet
    Dim L As Long
    Dim HL As Hyperlink
    Set shLinkList = Worksheets.Add(, Sheets(Sheets.Count))
    For Each SH In ThisWorkbook.Sheets
        If Not SH Is shLinkList Then
            For Each HL In SH.Hyperlinks
                L = L + 1
                shLinkList.Cells(L, 1) = SH.Name
                If TypeOf HL.Parent Is Range Then
                    shLinkList.Cells(L, 2) = HL.Parent.Address
                    Else:
                    shLinkList.Cells(L, 2) = HL.Parent.Name
                End If
                shLinkList.Cells(L, 3) = HL.Address
                shLinkList.Cells(L, 4) = (CheckLink(HL.Address) = 200)
            Next
        End If
    Next
End Sub

 
Das Resultat dieses Codes ist dann ein neues Tabellenblatt in meiner Arbeitsmappe drin auf welchem alle Registerblätter aufgelistet werden.
Hinter jedem gefundenen Hyperlink steht dann WAHR oder FALSCH (Hyperlink führt zu einem Ziel oder eben nicht)
 
Dieser Code funktioniert einwandfrei.
 
Nun aber meine Frage:
 
Ich möchte den Code so erweitern, dass mir nach dem Start dieses Codes eine Art Auswahlliste erscheint, in welcher ich die nicht zu prüfenden Tabellenblätter ankreuzen kann.
 
Zum Beispiel:
 
In der Arbeitsmappe drin hat es diverse Register / Tabellenblätter auf welchen Hyperlinks vorhanden sind, die der obige Code NICHT prüfen soll.
(Es ist auch nie die gleiche Anzahl Tabellenblätter in der Arbeitsmappe drin, da diese Arbeitsmappe ständig um weitere Tabellenblätter ergänzt wird oder welche entfernt werden)
 
Ich stell mir eine Art Userform vor, auf welche alle Tabellenblätter der Arbeitsmappe aufgelistet werden.
Vor jedem aufgelisteten Tabellenblatt-Namen soll dann ein Flag oder dergleichen stehen, welches man setzen kann.
Ist bei einem Tabellenblatt-Name also so ein Flag gesetzt, so soll dann der obige Code das Tabellenblatt überspringen und NICHT überprüfen.
 
Ich hoffe meine Frage war so einigermassen verständlich ?
 
Wäre toll, wenn mir jemand da weiterhelfen könnte diese Funktion zu verwirklichen.
 
Im voraus HERZLICHEN DANK !
 

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Hyperlinks testen
24.08.2012 22:35:32
Josef

Hallo Pascal,
die Funktion 'CheckLink' musst du noch einfügen.
https://www.herber.de/bbs/user/81574.xls

« Gruß Sepp »

Anzeige
AW: Hyperlinks testen
27.08.2012 10:13:11
Pascal
Hallo ! Schönen guten Tag !
Vielen herzlichen Dank für Deine Supertolle Hilfe !
Ich habe mir (kam leider erst heute dazu) Deinen Lösungsvorschlag mal genau angesehen.
Dieser entspricht genau dem was ich suchte und Dein Vorschlag funktioniert zudem einwandfrei.
Nun hab ich mir den Code mal in meine grosse Arbeitsmappe (über 50 Tabellenblätter / Register) integriet und mal
getestet.
Resultat ist korrekt.
Einzige kleine Unschönheit die ich noch habe:
Während das Makro läuft erscheint hin und wieder die Meldung: "Die Seite greift auf Informationen aus anderen Daten zu. Dies
kann ein Sicherheitsproblem darstellen. Möchten Sie den Vorgang fortsetzen ?"
Wenn ich dann auf JA drücke, so läuft das Makro weiter, wird aber nach kurzer Zeit wieder mit gleicher Meldung unterbrochen.
Natürlich werden bei meiner Arbeitsmappe auch Links zu externen Quellen / Verzeichnissen / Internet etc... aufgeführt und demzufolge auch
geprüft.
Kann ich diese Meldung Code-Seitig irgendwie unterdrücken ? Oder gibt es sonst eine Möglichkeit (evt. Sicherheitszentrale Excel) diese abzustellen und zu unterdrücken ?
Herzlichen Dank für die Antwort
Grüsse: Pascal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige