如何根据单元格的值有条件地创建超链接

Bil*_*ill 8 conditional-formatting hyperlink microsoft-excel

ColA                  Col B              ColC
Project A            A.pdf               A.pdf
Project B                                No Link
Run Code Online (Sandbox Code Playgroud)

我有一个项目记录列表。一列(例如,B)可能包含对 pdf 文件的引用。如果我创建一个公式

=if(isblank(B2),"No Link",hyperlink(folderURL + B2),B2)
Run Code Online (Sandbox Code Playgroud)

我想要的是只在 B 列包含 pdf 参考的那些行上放置一个超链接,并插入文本“无链接”。我得到了正确的文本值,但在所有行中都有 hyperlnk 默认外观和行为——Excel 似乎正在从“无链接”单元格中创建“幻像链接”。

在此处输入图片说明

单击 Col C 中的“No Link”值会激活打开 Col B 中列出的文件的尝试,这将返回 No file found 错误。

Ell*_*esa 12

目前还不清楚这是否是一个错误;但 Excel 似乎使整个单元格可点击,只是因为HYPERLINK公式中有一个函数可以使其工作。右键单击单元格并选择删除超链接似乎也不起作用。

我似乎找不到非 VBA 解决方案来阻止 Excel 创建那些“幻影”超链接,但这是“无法打开指定文件”错误的权宜之计:

=IF(ISBLANK(B2),HYPERLINK("#"&CELL("address"),"NO LINK"), HYPERLINK(folderURL & B2,B2))
Run Code Online (Sandbox Code Playgroud)

如果B2为空,则该公式不会仅显示“无链接”,而是创建一个指向单元格本身的超链接。该单元格仍可点击,但不会显示错误消息。

资料来源:http : //www.excelforum.com/excel-programming-vba-macros/340575-solved-conditional-hyperlink.html