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

Forumthread: Kein TextToDisplay bei hyperlinks.add in einer Funktion

Kein TextToDisplay bei hyperlinks.add in einer Funktion
11.06.2024 17:49:10
ggruen71
Liebes Forum,
ich versuche eine Funktion zu erstellen, die eine URL um den Wert aus einer Zelle (eine Ticketnummer) ergänzt und einen Link auf diese kombinierte URL ergeben soll.
Im Test mit einem Makro gelingt mir das auch vollständig, versuche ich den selben Code in eine Function abzuwandeln, wird zwar der Link korrekt erstellt, das TextToDisplay:= aus dem hyperlinks.add ergibt aber nur ein #Wert!. Bei Versuchen wird nicht einmal ein fixer Text angezeigt. Mit den Datentypen hab ich auch schon experimentiert.
Was ist bei Function anders als bei einem normalen Makro?

Funktioniert:


Sub test123()
Dim Ticket As Variant
Ticket = ActiveCell.Offset(rowOffset:=0, columnOffset:=-1) 'nimmt Ticketnummer links der aktiven Zelle
With ActiveSheet
.Hyperlinks.Add Anchor:=ActiveCell, _
Address:="url-link" & Ticket, _ ' "url-link" ist ein Link aus einem Ticket-System
TextToDisplay:=Ticket
End With
End Sub


Link wird gebildet, Zelle zeigt aber #Wert! an:


Public Function test456(ByRef Ticket As Variant)
With ActiveSheet
.Hyperlinks.Add Anchor:=ActiveCell, _
Address:="url-link" & Ticket, _ ' "url-link" ist ein Link aus einem Ticket-System
TextToDisplay:=Ticket
End With
End Function
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kein TextToDisplay bei hyperlinks.add in einer Funktion
11.06.2024 18:21:22
daniel
Hi
wie setzt du denn die Function denn ein?
Functions, die in Formeln in einer Excelzelle verwendet werden, dürfen grundsätzlich nur einen Wert zurückgeben und keine weitere "Außenwirkung" haben (Microsoft hat das so festgelegt)
falls du in einer Zelle per Formel einen Hyperlink erstellen willst, gibts die Excelfunktion HYPERLINK

Gruß Daniel
Anzeige
AW: Kein TextToDisplay bei hyperlinks.add in einer Funktion
12.06.2024 15:40:26
ggruen71
Hallo Daniel,
Vielen Dank für Deine Antwort! Ich gebe die Benutzerdefinierte Funktion rechts neben der Zelle mit der Ticketnummer ein und definiere diese als Variable.
Was mich irritiert ist, dass ich dachte, hyperlinks.add sein eine Funktion mit mehreren Parametern und einer davon sei eben TextToDisplay. In meinem Verständnis wäre das Verlinken der Zelle und Benennen eine einzige Auswirkung. Aber vielleicht sieht das MS nicht so.
HYPERLINK ist mir natürlich bekannt und ich habe es auch schon mit einer Funktion kombiniert, die einfach nur den Link zusammenstellt (dieser ist abhängig vom Tickettyp unterschiedlich). Ich wollte das Ganze halt lieber mit einer einzigen Funktion hinbekommen.
Beste Grüße
Guido
Anzeige
AW: Kein TextToDisplay bei hyperlinks.add in einer Funktion
11.06.2024 18:24:37
Onur
Warum VBA? Die Formel hier reicht völlig:
=HYPERLINK("url-Link"&F25;F25)

Wenn Ticket in F25 steht
Ausserdem kann und dadrf eine "User Defined Function" keine anderen Zellen manipulieren.
Ausserdem: Warum ByRef und nicht ByVal? Du brauchst doch den WERT.
AW: Kein TextToDisplay bei hyperlinks.add in einer Funktion
12.06.2024 17:09:48
ggruen71
Schräg! Wenn ich das tadellos funktionierende Sub test123() von oben über eine Function aufrufe, bekomme ich ebenso den Fehler!
Anzeige
AW: Kein TextToDisplay bei hyperlinks.add in einer Funktion
12.06.2024 17:23:06
Onur
Wie bereits gesagt: eine UDF kann (darf) KEINE anderen Zellen manipulieren.
AW: Kein TextToDisplay bei hyperlinks.add in einer Funktion
12.06.2024 16:43:14
ggruen71
Hallo Onur,

vielen Dank für Deinen Vorschlag, das habe ich bisher auch so gemacht. Ich wollte halt, wie auch in meiner Antwort davor beschrieben, alles in einer Funktion unterbringen und auch nicht immer den ersten Teil des Links eigegeben müssen.
Ich hätte ja auch keine andere Zelle als die, in der ich die UDF eingebe manipuliert.
Hab dann noch versucht, in der Function nach dem hyperlinks.add-Teil einen Wert in die Zelle zu schreiben, leider das selbe Fehlerbild.
Ob ByRef oder ByVal scheint vom Ergebnis egal zu sein.
Ich überleg jetzt, es alternativ mit FormulaR1C1 und der Hyperlink-Formel zu versuchen. Anders wär's halt schöner.

Beste Grüße
Guido
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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