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

Forumthread: Anzeigetext eines Links kürzen

Anzeigetext eines Links kürzen
16.11.2017 09:01:00
Claus
Hallo Excelianer,
sehr häufig habe ich links auf Exceldateien (in einer Excelübersicht), deren Anzeigetext ich kürzen möchte, und zwar auf den Dateinamen. Davor hängt immer ein langer Pfad über mehrere Verzeichnisebenen. Die Adresse des links soll nicht geändert werden, nur das was in der Zelle angezeigt wird.
Beispiel:
\\Entwicklung01\Entwicklung\Variantenanlage\Schlagbohrmaschinen\VA offen\6blablabla_CN.xlsm
soll gekürzt werden auf:
6blablabla_CN.xlsm
Liebe Grüße, Claus
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeigetext eines Links kürzen
16.11.2017 09:19:22
UweD
Hallo
per makro....
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

LG UweD
Anzeige
AW: Anzeigetext eines Links kürzen
16.11.2017 09:34:50
Claus
Hallo Uwe,
prima, vielen Dank.
Verstehe ich das richtig? - dieser Makro macht das für alle in der aktuellen Datei existierenden Hyperlinks? Das wäre mir nämlich zu viel - es soll nur in der Zelle passieren wo der Cursor grade steht. Ich muss es nicht einmalig für sehr viele links machen, sondern immer wieder und dann nur für wenige oder einen Hyperlink. Wenn andere in diesem sheet stehenden HLs anders aussehen sollen die so bleiben. Sorry, das hätte ich gleich dazuschreiben sollen.
Anzeige
AW: Anzeigetext eines Links kürzen
16.11.2017 09:47:05
Daniel
Hi
- Hyperlink mit der rechten Maustaste anklicken
- im Kontextmenü "Hyperlink bearbeiten" anklicken
- im Feld "Anzuzeigender Text" den gewünschten Text eintragen.
bei Erstellung eines Hyperlinks wird bei "anzuzeigender Text" automatisch die vollständige Adresse eingetragen.
Dieser Text kann dann nachträglich geändert werden.
Gruß Daniel
Anzeige
AW: Anzeigetext eines Links kürzen
16.11.2017 11:19:42
Claus
Hallo Daniel,
vielen Dank für diesen Hinweis. Sorry... das kenne ich, das hätte ich dazuschreiben sollen. Ich will eben diese Prozedur abkürzen, indem ich einen Makro wünsche, der den Anzeigetext des links der active.cell kürzt, und zwar auf den Dateinamen ohne Pfad. (den Makro lege ich mir dann auf eine Schaltfläche im Benutzermenue und könnte das dann jeweils mit einem Klick erledigen)
Anzeige
Im Prinzip mit dem Makro von Uwe
16.11.2017 11:31:41
Uwe
Hi
du kannst im Prinzip den Code von Uwe verwenden.
du musst nur die Schleife so umschreiben, dass sie nicht über alle Hyperlinks auf dem Blatt läuft, sondern nur über Hyperlinks derjenigen Zellen, die du selektiert hast:
Sub Makro2()
HL As Hyperlink
For Each HL In Selection.Hyperlinks
If Dir(HL.TextToDisplay)  "" Then 'Datei existiert
HL.TextToDisplay = Dir(HL.TextToDisplay) 'Namen extrahieren
End If
Next
End Sub
Gruß Daniel
Anzeige
AW: Im Prinzip mit dem Makro von Uwe
16.11.2017 11:51:09
Uwe
Hi Daniel,
fehlt da jetzt nicht vorne etwas in der ersten Zeile? (ich dachte "Dim" - aber damit passiert bei mir auch nichts)
AW: Im Prinzip mit dem Makro von Uwe
16.11.2017 12:16:28
Uwe
Hi
ja dim fehlt, hab ich aus versehen beim löschen der nicht mehr benötigten Deklarationen mit gelöscht.
hast du auch die Zelle mit dem Hyperlink selektiert?
es werden nur Hyperlinks in den Zellen umgewandelt, die zum selektierten Zellbereich gehören.
es werden auch nur die Hyperlinks umgewandelt, die auf eine vorhandene Datei verweisen.
Gruß Daniel
Anzeige
AW: Im Prinzip mit dem Makro von Uwe
16.11.2017 12:39:44
Uwe
Nochmals Hallo,
Jepp! Jetzt geht es, klasse, vielen Dank.
Das Testen war von unglücklichen Zufällen geprägt. Ein mal hätte es klappen müssen, aber da hatte ich einen Link in eine Testdatei kopiert - und ausgerechnet dieser Link funktionierte nicht (da der Name der ursprünglichen Datei geändert wurde - was sehr selten vorkommt).
Dann hab ich den Code geändert, dann - nach deinem Hinweis, dass der Link auf eine vorhandene Datei verweisen muss - zwar mit einem korrekten link aber dem falschen Code getestet. Murphy eben!
Also, vielen Dank nochmal für diesen VB-Code
Anzeige
AW: Anzeigetext eines Links kürzen
16.11.2017 10:44:29
UweD
OK
wenn in der Zelle was geämdert wird, läuft das makro ab.
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- dort diesen Code einfügen
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    With Target
        If .Hyperlinks.Count > 0 Then
            If Dir(.Hyperlinks(1).TextToDisplay) <> "" Then 'Datei existiert 
                Application.EnableEvents = False
                .Hyperlinks(1).TextToDisplay = Dir(.Hyperlinks(1).TextToDisplay) 'Namen extrahieren 
            End If
        End If
    End With
    
    
    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub
LG UweD
Anzeige
AW: Anzeigetext eines Links kürzen
16.11.2017 11:24:43
Claus
Hallo Uwe,
oh, das ist zu viel für mich. Ich ändere sehr oft einen link manuell ab (wie das geht weiß ich) und will eben diese Prozedur abkürzen, indem ich einen Makro wünsche, der den Anzeigetext des links der active.cell kürzt, und zwar auf den Dateinamen ohne Pfad. (den Makro lege ich mir dann auf eine Schaltfläche im Benutzermenue und könnte das dann jeweils mit einem Klick erledigen)
Wenn active.cell keinen link enthält, soll der Makro nichts machen oder auf Fehler laufen (das käme ja nur vor wenn ich einen Anwendungsfehler mache - normal löse ich diesen Makro ja aus, wenn der Cursor auf einem link steht)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Anzeigetext eines Links in Excel kürzen


Schritt-für-Schritt-Anleitung

Um den Anzeigetext eines Links in Excel zu kürzen, kannst du einen VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Projektfenster auf das Tabellenblatt, in dem du den Makro einfügen möchtest.

  3. Wähle Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden VBA-Code ein:

    Sub LinkKuerzen()
       Dim HL As Hyperlink
       For Each HL In Selection.Hyperlinks
           If Dir(HL.TextToDisplay) <> "" Then ' Datei existiert
               HL.TextToDisplay = Dir(HL.TextToDisplay) ' Namen extrahieren
           End If
       Next
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Dokument.

  6. Wähle die Zelle(n) mit dem Link aus, dessen Anzeigetext du kürzen möchtest.

  7. Drücke ALT + F8, wähle LinkKuerzen aus der Liste und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Hyperlink anzuzeigender Text lässt sich nicht ändern: Stelle sicher, dass du eine Zelle mit einem Hyperlink ausgewählt hast. Wenn du keine Zelle mit einem Link markierst, wird der Makro nicht funktionieren.

  • Makro funktioniert nicht: Überprüfe, ob das Makro korrekt in das Modul eingefügt wurde. Achte auch darauf, dass die Sicherheitseinstellungen für Makros in Excel angepasst sind.


Alternative Methoden

Wenn du den Anzeigetext eines Hyperlinks direkt ändern möchtest, ohne ein Makro zu verwenden, kannst du dies manuell tun:

  1. Klicke mit der rechten Maustaste auf den Hyperlink.
  2. Wähle "Hyperlink bearbeiten".
  3. Ändere den Text im Feld "Anzuzeigender Text" auf den gewünschten Namen.

Diese Methode eignet sich besonders, wenn du nur gelegentlich einen Link kürzen möchtest.


Praktische Beispiele

Angenommen, du hast einen Link in einer Zelle, der wie folgt aussieht:

\\Entwicklung01\Entwicklung\Variantenanlage\Schlagbohrmaschinen\VA offen\6blablabla_CN.xlsm

Nach dem Ausführen des Makros wird der Anzeigetext auf:

6blablabla_CN.xlsm

Dies ist eine einfache Möglichkeit, lange Links in Excel zu kürzen, ohne den ursprünglichen Pfad zu verändern.


Tipps für Profis

  • Makros auf Schaltflächen legen: Du kannst den Makro mit einer Schaltfläche verknüpfen, um das Kürzen der Links noch einfacher zu gestalten. Füge dazu unter Entwicklertools eine Schaltfläche ein und weise den Makro zu.

  • Automatisierung: Du kannst den Makro so anpassen, dass er automatisch den Anzeigetext eines Links kürzt, wenn du den Inhalt der Zelle änderst. Füge den folgenden Code in das Arbeitsblattmodul ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       On Error GoTo Fehler
       With Target
           If .Hyperlinks.Count > 0 Then
               If Dir(.Hyperlinks(1).TextToDisplay) <> "" Then
                   Application.EnableEvents = False
                   .Hyperlinks(1).TextToDisplay = Dir(.Hyperlinks(1).TextToDisplay)
               End If
           End If
       End With
    Fehler:
       Application.EnableEvents = True
    End Sub

FAQ: Häufige Fragen

1. Wie kann ich mehrere Links gleichzeitig kürzen?
Wähle einfach alle Zellen mit Hyperlinks aus und führe den Makro aus. Alle Anzeigetexte werden entsprechend angepasst.

2. Funktioniert dieser Makro in allen Excel-Versionen?
Ja, dieser VBA-Makro funktioniert in Excel-Versionen, die VBA unterstützen, wie Excel 2010, 2013, 2016, 2019 und Microsoft 365.

3. Was passiert, wenn der Hyperlink nicht auf eine existierende Datei verweist?
In diesem Fall bleibt der Anzeigetext unverändert, und der Makro überspringt diesen Link.

4. Kann ich den Anzeigetext auch manuell anpassen?
Ja, du kannst auch einfach mit der rechten Maustaste auf den Hyperlink klicken und "Hyperlink bearbeiten" auswählen, um den Anzeigetext zu ändern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige