Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hyperlinks in andere Zelle schreiben

Hyperlinks in andere Zelle schreiben
31.03.2014 15:33:49
Christian
Hallo alle zusammen,
bitte helft mir, wie kann ich am einfachsten, die Adressen der Hyperlinks in Spalte A Tabelle 2 in Spalte C Tabelle 2 schreiben? (sind ca. 35000 Stück)? Auch unter der Berücksichtigung, dass wenn beide Spalten Hyperlinks enthalten, die mögliche Gesamtzahl von ca. 65000 überschritten würde. Ziel soll dann sein, dass die Adressen in Spalte C stehen und am Ende weder Spalte A noch C einen Hyperlink enthält, also die Links aus Spalte A gelöscht werden und in C erst gar keine erstellt werden.
Hat da jemand eine Idee?
Viele Grüße und danke
Chris

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

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks auswerten und löschen
01.04.2014 08:11:08
fcs
Hallo Chris,
hier ein Makro zum Auslesen und Löschen der Hyperlinks.
Teste es aber erst einmal in einer Kopie des Tabellenblatts.
Ich bin mir nicht sicher, ob ich alle Varanten der Schreibweise der Adressen in den Hyperlinks korrekt erfasst hab.
Gruß
Franz
Sub Hyperlinks_aufloesen()
Dim Zelle As Range, wks As Worksheet
Dim strAdr As String, strPath As String
Dim strOrd As String, AnzOrd As Integer, intPos, intCount As Integer
If MsgBox("Adresse der Hyperlinks in Spalte A in Spalte C eintragen und Hyperlinks löschen?",  _
_
vbQuestion + vbOKCancel, "Hyperlinks auflösen") = vbCancel Then Exit Sub
Set wks = ActiveSheet
strPath = ActiveWorkbook.Path
Application.ScreenUpdating = False
With wks
For Each Zelle In .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
With Zelle
If Zelle.Hyperlinks.Count > 0 Then
strAdr = Zelle.Hyperlinks(1).Address
If LCase(Left(strAdr, 4)) = "http" Then
'do nothing - Internet-Link
ElseIf Mid(strAdr, 2, 2) = ":\" Then
'do nothing - Link mit vollständiger Pfadangabe
ElseIf Left(strAdr, 2) = "\\" Then
'do nothing - Link mit Serveradresse - nicht getestet
ElseIf LCase(Left(strAdr, 3)) = "..\" Then
'relative Pfadangabe im Hyperlink
AnzOrd = (Len(strAdr) - Len(VBA.Replace(strAdr, "..\", ""))) / 3
intCount = 0
For intPos = Len(strPath) To 1 Step -1
strOrd = Left(strPath, intPos)
If Mid(strPath, intPos, 1) = "\" Then
intCount = intCount + 1
End If
If intCount = AnzOrd Then Exit For
Next
strAdr = strOrd & VBA.Replace(strAdr, "..\", "")
Else
'Link in Unterverzeichnis des Verzeichnisses der aktiven Datei
strAdr = strPath & "\" & strAdr
End If
Zelle.Offset(0, 2).Value = strAdr
Zelle.Hyperlinks(1).Delete
End If
End With
Next
End With
Application.ScreenUpdating = False
End Sub

Anzeige
AW: Hyperlinks auswerten und löschen
01.04.2014 08:38:36
Christian
Hallo Franz,
der Editor hat
  If MsgBox("Adresse der Hyperlinks in Spalte A in Spalte C eintragen und Hyperlinks löschen?",  _
_
_
vbQuestion + vbOKCancel, "Hyperlinks auflösen") = vbCancel Then Exit Sub
rot markiert und beim ausführen in der oberen Zeile einen Syntaxfehler gemeldet.
Ich hab jedoch einfach auf gerate Wohl die beiden Zeilen gelöscht, dann hat es zum gewünschten Ergebnis geführt.
Vielen Dank
Chris

AW: Hyperlinks auswerten und löschen
01.04.2014 09:33:47
fcs
Hallo Chris,
da waren jetzt beim speichern des Codes in das Forums-Eingabefeld nur ein paar
_
_
_
zuviel eingefügt worden.
Die MsgBox war "nur" eine Sicherheitsabfrage zum bestätigen der Aktion.
Gruß
Franz
Anzeige

371 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige