当用公式生成超链接VBA打开Excel中的超链接不起作用(VBA to open Excel hyp

2019-07-18 11:10发布

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

  1. 把这些细胞注入超链接。
  2. 创建键盘快捷键打开这些链接,所以我不必使用鼠标。

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

要做到#2,我创建了下面的宏应该打开与键盘快捷键Ctrl + H的超级链接:

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

问题是,这个宏似乎只对未使用公式创建超链接工作。 例如,如果我只需要输入到单元格http://www.google.com ,Excel将自动使这个超链接,键盘快捷键宏的作品,它不与公式生成超链接。

我也注意到,当我用鼠标右键单击公式生成超链接,没有在下拉菜单中没有选项来打开超链接,尚当右击不是由公式生成超链接选项。

我发现以下解决方法。 而不是使用公式生成超链接,我使用的宏,我发现这里 。

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

我能够使用键盘快捷键来打开这个宏所产生的超链接。 我想知道如果任何人有或有过类似的问题,为什么公式生成超链接不是为我工作。 我宁愿用公式进行超链接在未来,因为它更简单,所以如果有人的方式知道要避免使用宏来使超链接,我会很感激。

Answer 1:

我想知道如果任何人有过类似的问题,为什么公式生成超链接不是为我工作。

唉,这似乎是令人痛苦的事实:Excel不添加Hyperlinks集合公式生成的链接-以下是从调试屏幕,其指向=HYPERLINK("http://www.google.com/";"Google")

我不知道这是否是故意实施或错误,但肯定的,公式生成的链接可能无法使用打开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

希望以某种方式帮助。 祝好运!



文章来源: VBA to open Excel hyperlink does not work when hyperlink generated with a formula