Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Hyperlink auslesen
Frage
Hallo alle miteinander.
Ich möchte in einer Exceltabelle die vorhandenen Hyperlinks auslesen.
Meine Tabelle sieht folgendermaßen aus.
.......A
1....Text mit Hyperlink
2....Text mit Hyperlink
3.....Text ohne Hyperlink
4.....Text mit Hyperlink
In der Spalte A sind Wörter oder Texte hinterlegt. Entweder mit oder ohne Hyperlink. Ich möchte jetzt in der Spalte B, dass wenn ein Hyperlink vorhanden ist, mir der Hyperlink ausgelesen wird. z.B. B1= www.google.de.
wenn kein Hyperlink hinterlegt is, soll die Zelle einfach leer gelassen werden.
........B
1.....www.google.de
2.....www.google.de
3....
4....www.google.de
Hab das mal mit folgendem code versucht.
For i = 1 To 65536
If Cells(i, 1).Value = "" Then
Exit Sub
Else
Worksheets(1).Cells(i, 2).Value = Worksheets(1).
Cells(i, 1).Hyperlinks(1).Address
End If
Next i
Das funktioniert soweit ganz gut, allerdings nur solange, bist eben in einem Feld kein Hyperlink hinterlegt ist, dann kommt eine Fehlermeldung.
Mein Problem... wie müsste ich schreiben, dass er eben, fals KEIN Hyperlink vorliegt, die Zelle in Spalte B leer lässt und das nächste Feld durchsucht.
Leere Zeilen können zwischendrin nicht enthalten sein.
Hoffe ihr könnt mir helfen.
gruß
morpheus
Antwort 1 von Coolpix
hallo morpheus,
warum stellst du deine Frage nicht im Excel-Forum ?
Zu deiner Frage:
Du musst erstens überprüfen, ob in der Zelle überhaupt etwas drin steht und zweitens ob die Zelle einen Hyperlink hat.
mit dem u.a. Code in einem Modul sollte es funktionieren
Feedback fänd ich klasse !!
Greetings ;-)
warum stellst du deine Frage nicht im Excel-Forum ?
Zu deiner Frage:
Du musst erstens überprüfen, ob in der Zelle überhaupt etwas drin steht und zweitens ob die Zelle einen Hyperlink hat.
mit dem u.a. Code in einem Modul sollte es funktionieren
Option Explicit
Sub hyperlinks_auslesen()
Dim lngI As Long 'Zähler für Schleife
Dim lngMax 'Variable für letzte gefüllte Zelle
'letzte gefüllte Zelle in Spalte 1 (=A) ermitteln
lngMax = ActiveSheet.Cells(xlLastCell, 1).End(xlUp).Row
For lngI = 1 To lngMax
'steht überhaupt etwas in der Zelle ?
If Cells(lngI, 1) > 0 Then
'hat die Zelle einen Hyperlink ?
If Cells(lngI, 1).Hyperlinks.Count > 0 Then
'schreibe Hyperlink in Spalte 2
Cells(lngI, 2) = Cells(lngI, 1).Hyperlinks(1).Address
End If
End If
Next lngI
End Sub
Feedback fänd ich klasse !!
Greetings ;-)
Antwort 2 von morpheus__85
hallo coolpix,
so, nicht das du denkst ich hätte dich vergessen aber hab erst soeben deine antwort gelesen war nämlich freitag um die uhrzeit schon im wochenende ;-)
vielen danke für deine hilfe hat wunderbar geklappt.
genau so sollte es funktionieren.
gruß
morpheus
so, nicht das du denkst ich hätte dich vergessen aber hab erst soeben deine antwort gelesen war nämlich freitag um die uhrzeit schon im wochenende ;-)
vielen danke für deine hilfe hat wunderbar geklappt.
genau so sollte es funktionieren.
gruß
morpheus