105 Aufrufe
Gefragt in Tabellenkalkulation von
wieder angezeigt
Guten Tag, bräuchte mal wieder eure Hilfe und zwar möchte ich meine Hyperlink Adresse kürzen zB. von "C:\Users\blabla\Documents\blabla2019\erhalten 2019\Arme\RG Arme Nr AR_2019_732 14_05_19.pdf"   zu "Arme\RG Arme Nr AR_2019_732 14_05_19.pdf" kürzen, habe ein makro gefunden

Sub Makro2()

    Dim TB As Worksheet, HL

    Set TB = Sheets("Tabelle1")

       For Each HL In TB.Hyperlinks

        If Dir(HL.TextToDisplay) <> "" Then 'Datei existiert

            HL.TextToDisplay = Dir(HL.TextToDisplay) 'Namen extrahieren

        End If

    Next

End Sub

zeigt mir aber nur "RG Arme Nr AR_2019_732 14_05_19.pdf" möchte aber noch den Namen vor "RG" und zwar "Arme\RG Arme Nr AR_2019_732 14_05_19.pdf" der name vor "RG" ändert sich dauernd. Besten Dank.

15 Antworten

0 Punkte
Beantwortet von
Hallo Karin, Danke für deine schnelle und hilfreiche Antwort, ginge vielleicht eine Formel mit "VERGLEICH oder VERWEIS oder mit einem makro" anstatt dieser "WENN" Formel.
0 Punkte
Beantwortet von beverly_ Experte (1k Punkte)

Hi Jannick,

das kannst du in den Code für das Kürzen der Anzeige des Pfades mit einbauen:

Sub HyperlinkAnzeigetext()
    Dim hypZelle As Hyperlink
    Dim strTeil
    Dim lngZiel As Long
    lngZiel = 8
    For Each hypZelle In Range("I8:I100").Hyperlinks
        strTeil = Split(hypZelle.TextToDisplay, "\")
        hypZelle.TextToDisplay = strTeil(UBound(strTeil) - 1) & "\" & strTeil(UBound(strTeil))
        If hypZelle.Range.Cells(1).Offset(0, 1) = 1 Or hypZelle.Range.Cells(1).Offset(0, 1) = 9 Then
            hypZelle.Range.Cells(1).Copy Worksheets("Baustelle").Cells(lngZiel, 2)
        End If
        lngZiel = lngZiel + 1
    Next hypZelle
End Sub

Im Code wird der Link nach Spalte B (2) der Tabelle "Baustelle" übertragen - musst du anpassen,


Bis später, Karin

0 Punkte
Beantwortet von
Hallo Karin, mach mir bitte in "Baustelle" F6 die erste Zeile und nicht Zeile 8 der Rest passt, die Übertragung dauert ziemlich lange aber besser als den ganzen Namen in der Zelle, herzlichen Dank.
0 Punkte
Beantwortet von beverly_ Experte (1k Punkte)

Hi Jannick

die 8 in 5 zu ändern sollte sicher kein Problem für dich sein und an dieser Stelle

.Cells(lngZiel, 2)

ersetzt du die 2 durch die Spaltennummer für F - zur Not kannst du das an den Fingern abzählen... wink

Bis später, Karin

0 Punkte
Beantwortet von

Hallo Karin

ich meinte von Tabelle "Hauptformular" i8 zu Tabelle "Baustelle" F6 und nicht F8, Danke

...