Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hyperlinks auf ziel prüfen

Hyperlinks auf ziel prüfen
15.02.2022 12:45:27
Janett
Hallo Liebes Forum,
mit folgendem Code sollen Hyperlinks geprüft und wenn nicht vorhanden die entsprechende Zell farbig markiert werden (datei vorhanden oder nicht).
Wenn ich die Hyperlinks so verändere das die vollständige Adresse angegeben ist (R:\kst\kunde\Sonder\06_KW\test.pdf) funktioniert das Ganze auch super.
Nach dem Speichern und öffnen ändert Excel die links aber wieder in 06_KW/test.pdf und mir werden alle Zellen als nicht vorhanden angezeigt.
Hat jemand eine Idee?
LG Janett

Sub HyperlinkTest()
Worksheets("Monatsübersicht").Unprotect "****"
' Testet Hyperlink-Formeln und direkt verlinkte Dateien auf Vorkommen im aktiven Blatt
Dim rC As Range
Dim HL As Hyperlink
Dim lHLX As Long
Dim strDatei As String
' Testen der Hyperlink Formeln
On Error Resume Next
Set rC = ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not rC Is Nothing Then
For Each rC In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
If Left(rC.Formula, 11) = "=HYPERLINK(" Then
strDatei = Dir(Replace(Split(Mid(rC.Formula, 12), ",")(0), """", ""))
If strDatei = "" Then rC.Interior.ColorIndex = 3
End If
Next rC
Else
MsgBox "Keine Formeln im aktiven Blatt!", vbOKOnly + vbExclamation, ActiveSheet.Name
End If
' Testen von direkten Hyperlinks im aktiven Blatt
If ActiveSheet.Hyperlinks.Count > 0 Then
For Each HL In ActiveSheet.Hyperlinks
strDatei = Dir(HL.Address)
If strDatei = "" Then HL.Range.Interior.ColorIndex = 3
Next HL
Else
MsgBox "Keine direkten Hyperlinks im aktiven Blatt!", vbOKOnly + vbExclamation, ActiveSheet.Name
End If
MsgBox "markierung entfernen", vbOKOnly + vbExclamation, ActiveSheet.Name
Range("Daten2[Datei]").Select
ActiveWindow.SmallScroll Down:=-45
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveWindow.SmallScroll Down:=-9
Range("A2").Select
Worksheets("Monatsübersicht").Protect "****", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, AllowInsertingHyperlinks:=True
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks auf ziel prüfen
15.02.2022 13:22:59
Janett
Kleiner Hinweis,
strdatei gibt bei nach dem öffnen, geänderten Hyperlinks den richtigen Dateinamen aus.
bei ungeänderten Hyperlinks ist die Ausgabe von strdatei = ""
bei beiden Varienten öffnet sich die richtige Datei beim klick auf den Hyperlink.
LG Janett
AW: Hyperlinks auf ziel prüfen
15.02.2022 13:42:37
Janett
ich habe noch eine Beispieldatei hochgeladen https://www.herber.de/bbs/user/151143.xlsb.
Alle Daten werden mittels Userform eingetragen, auch die Links werden mit einer Userform erstellt.
der Pfad für den Hyperlink wird folgendermaßen generiert:

strAdresse = Worksheets("Monatsübersicht").Range("T1").Text & "\" & Format(TextBox_Kalenderwoche, "00") & "_" & "KW" & "\" & TextBox_Dateiname.Value
die Daten und der Hyperlink werden hiermit in das Tabellenblatt eingetragen:

.Cells(lngLastB, 3).Value = ComboBox_Name.Value
.Cells(lngLastB, 1).Value = TextBox_Dateiname.Value
.Cells(lngLastB, 4).Value = dValue
.Cells(lngLastB, 5).Value = TextBox_Kalenderwoche.Value
.Cells(lngLastB, 2).Value = ComboBox_Kunde.Value
.Columns("D").NumberFormat = "0.00"
'Hyperlink zur Datei einfügen
.Hyperlinks.Add Anchor:=.Cells(lngLastB, 1), _
Address:=strAdresse, TextToDisplay:= _
TextBox_Dateiname.Value
LG Janett
Anzeige
AW: Hyperlinks auf ziel prüfen
15.02.2022 17:37:55
Janett
Hallöchen,
ich habe es nun doch alleine geschafft.
Folgendes habe ich geändert:
von:

' Testen von direkten Hyperlinks im aktiven Blatt
If ActiveSheet.Hyperlinks.Count > 0 Then
For Each HL In ActiveSheet.Hyperlinks
strDatei = Dir(HL.Address)
If strDatei = "" Then HL.Range.Interior.ColorIndex = 3
Next HL
nach:

' Testen von direkten Hyperlinks im aktiven Blatt
If ActiveSheet.Hyperlinks.Count > 0 Then
For Each HL In ActiveSheet.Hyperlinks
strDatei = Dir(Range("T1") & "\" & (HL.Address))
If strDatei = "" Then HL.Range.Interior.ColorIndex = 3
Next HL
In Zelle T1 wird mittels Formel der Pfad der Datei ausgelesen =LINKS(ZELLE("dateiname");SUCHEN("[";ZELLE("dateiname"))-2)
und mit strDatei = Dir(Range("T1") & "\" & (HL.Address)) der Hyperlink komplettiert.
LG Janett
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige