Ste*_*eve 4 excel vba formula hyperlink excel-vba
使用公式生成的Excel超链接似乎存在错误.我正在使用Excel 2010.我有一个包含URL的单元格的电子表格,我的目标是执行以下两项操作:
做#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
Run Code Online (Sandbox Code Playgroud)
问题是这个宏似乎只适用于不使用公式创建的超链接.例如,如果我只是键入一个单元格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
Run Code Online (Sandbox Code Playgroud)
我可以使用键盘快捷键打开使用此宏生成的超链接.我想知道是否有人有或有类似的问题,为什么公式生成的超链接不适合我.我希望将来使用公式来制作超链接,因为它更简单,所以如果有人知道避免使用宏来制作超链接的方法,我真的很感激.
我想知道是否有人有类似的问题,为什么公式生成的超链接对我不起作用.
唉,这似乎是一个痛苦的事实: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
Run Code Online (Sandbox Code Playgroud)
只需分配任何快捷方式,您就可以开始了.以下是示例:https://www.dropbox.com/s/d4cie7lun22quma/FollowLinks.xlsm
希望这在某种程度上有所帮助.祝好运!