2013-01-20 259 views
4

Excel公式生成的超級鏈接似乎存在一個錯誤。我使用的是Excel 2010.我有一個包含網址單元格的電子表格,我的目標是做以下兩件事:使用公式生成超級鏈接時,VBA打開Excel超級鏈接不起作用

  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會自動將其設置爲超鏈接,並且鍵盤快捷方式宏將與其生成的公式生成的超鏈接不同。

我也注意到,當我右鍵單擊公式生成超鏈接時,下拉菜單中沒有選項可以打開超鏈接,但是當右鍵單擊不是由公式生成的超鏈接時,有這個選項。

我發現了以下解決方法。我沒有使用公式生成超鏈接,而是使用了一個宏,我發現它是here

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 

我能夠使用鍵盤快捷鍵來打開這個宏所產生的超鏈接。我想知道如果有人有或有類似的問題,爲什麼公式生成的超鏈接不適合我。我寧願將來使用公式來製作超鏈接,因爲它更簡單,所以如果有人知道避免使用宏製作超鏈接的方法,我會非常感激。

+0

看起來像我有同樣的問題:http://stackoverflow.com/q/14574281/1286571 – ForeverWintr

回答

5

我想知道是否有人有類似的問題,爲什麼公式 生成超鏈接不適合我。

唉,這似乎是令人痛苦的事實:Excel不添加到Hyperlinks集合公式生成的鏈接 - 以下是從調試屏幕,其指向=HYPERLINK("http://www.google.com/";"Google")

Cell Hyperlinks collection

我我不確定這是故意實施還是錯誤,但是,公式生成的鏈接可能無法使用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

希望這有點幫助。祝你好運!

+0

謝謝!這樣可行。 – Steve