Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

makro um hyperlinks zu ändern





Frage

hallo allerseits, habe eine tabelle wo in der ersten spalte jeweils ein hyperlink dahintersteht. habe dazu auch schon einen sehr brauchbaren tread gefunden: https://supportnet.de/discussion/listmessages.asp?AutoID=138687 das ich script nicht 1:1 übernehmen kann habe ich schon befürchtet Option Explicit Sub Hyperlinks_aendern() Dim n As Integer Dim hlink As String Dim datei As String For n = 1 To Cells(Rows.Count, 1).End(xlUp).Row hlink = Cells(n, 1).Hyperlinks(1).Address datei = Mid(hlink, 15, Len(hlink) - 14) Cells(n, 1).Hyperlinks(1).Address = "\\server-2\pfad-2\" & datei Next n End Sub als absoluter makro newbie wäre ich euch sehr dankbar wenn mir jemand sagen kann was ich anpassen muss. also es betrifft hyperlinks in der 1.spalte der datei die ersten 57 zeichen des ursprünglichen links sollen abgeschnitten werden. gesamtlänge des urpsrünglichen links beträgt 97 zeichen (wenn das relavant sein sollte). vielen dank mixxon

Antwort 1 von Beverly

Hi mixxon,

versuche es mal mit diesem Code

Sub Hyperlinks_aendern()
    Dim n As Integer
    For n = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        Cells(n, 1).Value = Right(Cells(n, 1).Hyperlinks(1).Address, 58)
    Next n
End Sub


Bis später,
Karin

Antwort 2 von mixxon

hallo karin,

danke für die schnelle antwort. habs vergessen zu erwähnen.
das ganze sollte dann durch einen anderen pfad ersetzt werden:
http://www.xxx.xx/xxx/
hat insgesamt 46 zeichen (wenns irgendwie relevant sein sollte)

wo muss ich das im script berücksichtigen?

danke

mixxon

Antwort 3 von Beverly

Hi mixxon,

ersetze die entsprechende Codezeile durch diese
Cells(n, 1).Value = "http://www.xxx.xx/xxx/" & Right(Cells(n, 1).Hyperlinks(1).Address, 58)


Bis später,
Karin

Antwort 4 von mixxon

hallo karin,

habe das heute morgen probiert. bekomme beim ausführen jedoch die fehlermeldung:

laufzeitfehler ´9´:
index ausserhalb des gültigen bereiches

wenn ich auf debuggen gehe markiert er folgende zeile gelb:
Cells(n, 1).Value = "http://www.xxx.xx/xxx/" & Right(Cells(n, 1).Hyperlinks(1).Address, 58)

ist der link den ich einfügen möchte zu lang? (46 zeichen)

übrigens möchte ich noch die letzten beiden 2 zeichen des ursprünglichen links entfernen, geht das? ist aber nicht so wichtig, bin schon froh wenn ich dass so zum laufen bringe.

lg
mixxon

Antwort 5 von Beverly

Hi mixxon,

kann es sein, dass in einigen Zellen kein Hyperlink enthalten ist? Dann versuche es mal mit diesem Code

Sub Hyperlinks_aendern()
    Dim n As Integer
    For n = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(n, 1).Hyperlinks.Count > 0 Then
            Cells(n, 1).Value = "http://www.xxx.xx/xxx/" & Mid(Cells(n, 1).Hyperlinks(1).Address, 58, 38)
        End If
    Next n
End Sub


Evtl.musst du die 38 noch ändern, damit auch die letzten beiden Zeichen richtig abgeschnitten werden. 58 ist die Startposition für den Rest der urprünglichen Adresse, denn 57 Zeichen sollten links abgeschnitten werden.

Bis später,
Karin

Antwort 6 von mixxon

hallo karin,

superklasse, vielen dank! jetzt hats geklappt, du hast recht gehabt die erste zeile ist eine überschrift die ich dann entfernt habe.

nach dem makro wurden alle links in der bearbeitungsleiste angezeigt, den rest konnte ich dann problemlos mit ersetzen lösen.

hat mir echt ne menge arbeit erspart.

danke

mixxon

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: