So erstellen Sie bedingt einen Hyperlink basierend auf dem Wert einer Zelle

7
ColA                  Col B              ColC
Project A            A.pdf               A.pdf
Project B                                No Link

Ich habe eine Liste von Projektaufzeichnungen. Eine Spalte (z. B. B) kann einen Verweis auf eine PDF-Datei enthalten. Wenn ich eine Formel erstelle

=if(isblank(B2),"No Link",hyperlink(folderURL + B2),B2)

Ich möchte einen Hyperlink nur in den Zeilen platzieren, in denen Spalte B eine PDF-Referenz enthält, und den Text "Kein Link" einfügen. Ich erhalte die richtigen Textwerte, habe aber in allen Zeilen das Standard-Erscheinungsbild und -Verhalten von Hyperlnk - Excel scheint "Phantom-Links" aus den "No Link" -Zellen zu erstellen.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie in Spalte C auf den Wert "Kein Link" klicken, wird versucht, die in Spalte B aufgeführte Datei zu öffnen. Daraufhin wird der Fehler "Keine Datei gefunden" zurückgegeben.

Rechnung
quelle

Antworten:

11

Es ist unklar, ob dies ein Fehler ist. Excel scheint jedoch die gesamte Zelle anklickbar zu machen, nur weil HYPERLINKdie Formel eine Funktion enthält, damit sie funktioniert. Ein Rechtsklick auf die Zelle und die Auswahl von Hyperlink entfernen scheint ebenfalls nicht zu funktionieren.

Ich kann anscheinend keine Nicht-VBA-Lösung finden, um zu verhindern, dass Excel diese "Phantom" -Hyperlinks erstellt, aber hier ist eine Lücke für den Fehler "Die angegebene Datei kann nicht geöffnet werden":

=IF(ISBLANK(B2),HYPERLINK("#"&CELL("address"),"NO LINK"), HYPERLINK(folderURL & B2,B2))

Anstatt nur "Kein Link" anzuzeigen, wenn dieser B2leer ist, erstellt die Formel einen Hyperlink, der auf die Zelle selbst verweist. Die Zelle kann weiterhin angeklickt werden, die Fehlermeldung wird jedoch nicht angezeigt.

Quelle: http://www.excelforum.com/excel-programming-vba-macros/340575-solved-conditional-hyperlink.html

Ellesa
quelle
Dies scheint kein Fehler zu sein. Per Office-Dokumentation : "Wenn Sie auf die Zelle klicken, die die HYPERLINK-Funktion enthält, öffnet Microsoft Excel die Datei, die unter link_location gespeichert ist."
gm2
@ gm2 Ich denke, Sie verstehen die Frage des OP falsch. Excel erstellt einen "Phantom" -Hyperlink, auch wenn Sie dies nicht möchten.
Ellesa
Ich verstehe das Verhalten von Excel, das das OP beschreibt, und ich denke, Ihre Antwort ist eine nette Lösung (und ich habe es getan), ohne VBA zu verwenden. Mein Punkt war, dass die aktuelle Office-Dokumentation darauf hinweist, dass dieses Verhalten beabsichtigt ist. Ich verstand es zu bedeuten , „Excel wird auf eine Zelle handeln enthält HYPERLINK () durch einen Link folgt , das als Argument präsentiert hat“. Bei einem weiteren Blick könnten die Dokumente jedoch expliziter sein und möglicherweise diese Einschränkung erwähnen.
gm2
Interessanterweise wurde bestätigt, dass dieses " ungewöhnliche Verhalten " ein Problem in Excel 97 ist.
gm2
0

Nicht genau das, was das OP versucht, aber das hat bei mir funktioniert

=IF(ISBLANK(B2),HYPERLINK("#"&CELL("address"),""), HYPERLINK("http://someurl","friendly_link_name"))

Sie erhalten eine leere, nicht anklickbare Zelle, wenn kein Link vorhanden ist.

aasenjo
quelle