Verfügbarkeit von Web-Links in Excel mit VBA prüfen
Schritt-für-Schritt-Anleitung
Um die Verfügbarkeit von Web-Links in Excel zu prüfen, kannst du den folgenden VBA-Code verwenden. Dieser Code überprüft die Links in einer bestimmten Spalte und färbt sie je nach Verfügbarkeit ein.
- Öffne Excel und lade die Arbeitsmappe, die die Links enthält.
- Öffne den VBA-Editor (drücke
ALT + F11
).
- Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)".
- Wähle
Einfügen
> Modul
.
- Kopiere den folgenden Code in das Modul:
Sub Link_Pruefen()
Dim hypLink As Hyperlink
Dim varFehler As Variant
Dim AnzahlFalsch As Integer
Dim LetzteZeile As Integer
'Bestimmen der Letzten Zeile in Spalte B
LetzteZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
ActiveSheet.Range(Cells(9, 2), Cells(LetzteZeile, 2)).Interior.ColorIndex = 0
For Each hypLink In ActiveSheet.Range(Cells(9, 2), Cells(LetzteZeile, 2)).Hyperlinks
If TypeName(hypLink.Parent) = "Range" Then
On Error Resume Next
varFehler = Dir(hypLink.Address)
If varFehler = "" Then
varFehler = Err.Number
Else
varFehler = Dir(hypLink.Address)
End If
On Error GoTo 0
If Not IsNumeric(varFehler) Then
hypLink.Parent.Interior.ColorIndex = 4 ' Grün für funktionsfähige Links
Else
hypLink.Parent.Interior.ColorIndex = 3 ' Rot für defekte Links
AnzahlFalsch = AnzahlFalsch + 1
End If
End If
Next
MsgBox AnzahlFalsch & " Verlinkungen sind fehlerhaft." & vbCrLf & vbCrLf & "Bitte beheben!", _
vbExclamation, "Defekte Links entdeckt!"
End Sub
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Führe das Makro aus (drücke
ALT + F8
, wähle Link_Pruefen
und klicke auf Ausführen
).
Häufige Fehler und Lösungen
- Alle Links werden als "OK" angezeigt: Überprüfe, ob die Links korrekt in der Tabelle eingetragen sind. Manchmal können unsichtbare Zeichen oder Leerstellen Probleme verursachen.
- Links werden trotz absichtlich defekter URLs als funktionsfähig angezeigt: Stelle sicher, dass du die richtige Methode zum Prüfen der Links verwendest. Möglicherweise musst du die URL mit
MSXML2.XMLHTTP
anstelle von Dir
prüfen.
- VBA gibt eine Fehlermeldung aus: Überprüfe, ob die Internetverbindung aktiv ist und ob die Links tatsächlich erreichbar sind.
Alternative Methoden
Eine alternative Methode zur Überprüfung von Links ist die Verwendung des MSXML2.XMLHTTP
-Objekts. Hier ist ein Beispielcode:
Sub Webseite_pruefen()
Dim Hy As Hyperlink
Dim LetzteZeile As Integer
LetzteZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
Dim anfang As Double
anfang = Timer
With CreateObject("MSXML2.XMLHTTP")
For Each Hy In ActiveSheet.Range(Cells(9, 2), Cells(LetzteZeile, 2)).Hyperlinks
On Error Resume Next
.Open "GET", Hy.Address, False
.send
If Err.Number <> 0 Then
Range(Hy.Range.Address).Interior.ColorIndex = 3 ' Rot für defekte Links
Else
Range(Hy.Range.Address).Interior.ColorIndex = 4 ' Grün für funktionsfähige Links
End If
On Error GoTo 0
Next Hy
End With
Cells(1, 5) = Timer - anfang
End Sub
Praktische Beispiele
- Überprüfung von Webseiten: Du kannst diesen Code verwenden, um die Verfügbarkeit von Webseiten zu prüfen, z.B.
https://www.example.com
.
- Überprüfung von Dokumenten: Der Code kann auch verwendet werden, um Links zu Dokumenten wie PDF oder DOCX zu prüfen, solange die Links korrekt formatiert sind.
Tipps für Profis
- Nutze
Application.ScreenUpdating = False
, um das Bildschirmflackern während der Ausführung des Makros zu reduzieren.
- Füge Error-Handling hinzu, um spezifische Fehlermeldungen auszugeben, wenn ein Link nicht erreichbar ist.
- Teste deine Makros in einer sicheren Umgebung, bevor du sie auf wichtige Daten anwendest.
FAQ: Häufige Fragen
1. Funktioniert das Prüfen von Links in Excel auch für Dokumente?
Ja, du kannst auch Links zu Dokumenten wie PDF oder DOCX prüfen, solange die Links korrekt sind.
2. Was kann ich tun, wenn mein Makro nicht funktioniert?
Überprüfe den Code auf Syntaxfehler und stelle sicher, dass alle Links korrekt formatiert sind. Teste auch die Internetverbindung.
3. Gibt es eine Möglichkeit, Links automatisch zu aktualisieren?
Ja, du kannst VBA nutzen, um Links in deiner Excel-Tabelle automatisch zu aktualisieren, sobald sie geändert werden.