使用公式生成超链接时,VBA打开Excel超链接不起作用

Excel公式生成的超链接似乎有一个错误。 我正在使用Excel 2010.我有一个包含URL的单元格的电子表格,我的目标是做以下两件事情:

  1. 把这些单元格变成超链接。
  2. 创build一个键盘快捷方式来打开这些超链接,所以我不必使用鼠标。

要做#1,最初我只使用了函数=HYPERLINK() 。 所以,我的url是在列A ,我用这个公式来在B列超链接。

要做#2,我创build了下面这个应该用键盘快捷键Ctrl + H打开超链接的macros:

 Sub Open_Hyperlink() ' ' Open_Hyperlink Macro ' ' Keyboard Shortcut: Ctrl+h ' Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True End Sub 

问题是,这个macros似乎只适用于不是使用公式创build的超链接。 例如,如果我只是input一个单元格http://www.google.com将自动使这个超链接和键盘快捷方式macros的作品,它不与公式生成的超链接。

我也注意到,当我右键单击公式生成的超链接时,下拉菜单中没有选项来打开超链接,但右键单击不是由公式生成的超链接时有这个选项。

我find了以下解决方法。 我没有使用公式生成超链接,而是使用了我在这里find的一个macros。

 Sub HyperAdd() 'Converts each text hyperlink selected into a working hyperlink For Each xCell In Selection ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula Next xCell End Sub 

我可以使用键盘快捷方式打开使用此macros生成的超链接。 我想知道如果有人有或有类似的问题,为什么公式生成的超链接不适合我。 我宁愿在未来使用公式来制作超链接,因为它更简单,所以如果有人知道避免使用macros来制作超链接的方法,我会非常感激。

我想知道是否有人有类似的问题,为什么公式生成的超链接不适合我。

唉,这似乎是痛苦的事实:Excel不会添加到Hyperlinks集合公式生成的链接 – 下面是debugging器指向的屏幕=HYPERLINK("http://www.google.com/";"Google")

单元格超链接集合

我不确定这是一个故意的实现还是一个bug,但是可以的,公式生成的链接不能使用Hyperlinks().Follow打开。

但是,如果您打算使用键盘快捷方式打开链接,只需使用以下代码 – 它会自动转换为可点击链接选定的单元格文本并将其打开:

 Sub Open_Hyperlink() Selection.Hyperlinks.Add Anchor:=Selection, Address:=Selection.Formula Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True End Sub 

只要分配任何快捷方式,你准备好去)这里是示例: https : //www.dropbox.com/s/d4cie7lun22quma/FollowLinks.xlsm

希望这有些帮助。 祝你好运!