从单元格(在另一张纸上)获取 URL 以在 HYPERLINK 函数中使用,尽管尝试了 Application.Volatile,但 UDF 并未更新

问题描述 投票:0回答:1

我试图在(工具)工作表中使用 HYPERLINK 函数,但使用一个 URL,该 URL 作为超链接地址存储在另一个(参考)工作表的单元格中。

用户自定义函数

Function GetURL(cell As Range)
    GetURL = cell.Hyperlinks(1).Address
End Function

似乎获取了URL,但是当尝试在超链接中使用它时,它并不刷新;例如

=IFERROR(HYPERLINK(GetURL(INDEX(RefTable!$B$3:$G$8,MATCH($A3,RefTable!$B$3:$B$8,0),MATCH(Tool!$C3,RefTable!$B$3:$G$3,0))),Tool!$B4),Tool!$B4)

我读到尝试使用

Application.Volatile
可能意味着自动刷新/更新,所以我尝试过

Function GetURL(cell As Range)
    Application.Volatile
    GetURL = cell.Hyperlinks(1).Address
End Function

但到目前为止还没有运气。我是否需要更明确地告诉 GetURL UDF 要查看哪些工作表/使哪些工作表变得易失?

说明问题的示例电子表格如下: https://1drv.ms/x/s!Ai-0KWlTTEsCnQEQvJLvPWj-Ix3O?e=dLNoT7

我根据从单元格获取超链接地址的用户定义函数

中“强制UDF重新计算”的建议添加了Application.Volatile

我希望这会起作用。 任何帮助/指示将非常感激。

excel vba hyperlink user-defined-functions volatile
1个回答
0
投票

这个问题让我一度陷入恐慌,同样的原因,同样的修复。

© www.soinside.com 2019 - 2024. All rights reserved.