Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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.
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)
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
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

24 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige