2015-10-13 45 views
1

我有很多超鏈接,我想爲它們分配一個宏,Worksheet_FollowHyperlink只捕獲插入的超鏈接,但不捕獲HYPERLINK()函數。所以我希望我插入的超鏈接沒有提到,所以當我按下它們時什麼都沒有發生。或者我希望他們引用他們自己。但是當我將一個複製到另一個單元格時,它仍然指向其父單元格。所以我必須編輯一個新的單元,以便引用它的新單元。而且我也有超鏈接的編輯可以複製和編輯。我需要這個,因爲我不想讓超鏈接跳到父超鏈接的單元格。excel超鏈接什麼都沒有

在此先感謝

+0

您可以使用'#rc'作爲超鏈接地址 - 無需隱藏工作表。 –

+0

哦,謝謝你lori_m。作品完美。但它意味着什麼#rc? –

+0

'#'表示文檔中的引用,任何返回引用的公式都可以使用'A1'或'r1c1'表示法。這裏'rc'表示'r1c1'中的這個單元格。在超鏈接對話框中輸入'#indirect(rc)'會帶你進入超鏈接單元格輸入的文本,例如'Sheet1!A1' –

回答

3

你會好起來的使用HYPERLINK()函數。你可以用它爲你想要像這樣的內容:

=HYPERLINK("#HyperlinkClick()", "Text you want to Display") 

通知的開頭。 這是重要的

現在創建一個名爲HyperlinkClick功能:

Function HyperlinkClick() 

    Set HyperlinkClick = Selection 
    'Do whatever you like here... 
    MsgBox "You clicked on cell " & Selection.Address(0, 0) 

End Function 

就是這樣。

+0

好主意!你剛剛救了我的屁股。 Thanx –

+0

@DenisVakula歡迎您。 –

+0

對不起Excel Hero,這似乎是錯誤的方式。 Worksheet_FollowHyperlink仍然不處理我/你的超鏈接。你有什麼想法嗎? –

0

選擇一組單元格,然後運行:

Sub HyperAdder() 
    For Each r In Selection 
     ActiveSheet.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:=r.Parent.Name & "!" & r.Address(0, 0), TextToDisplay:="myself" 
    Next r 
End Sub 
+0

thanx,它的工作原理,但我收到「引用無效」,每次我點擊超鏈接 –

0

我剛剛建立了一個解決方案。如果我將插入的超鏈接引用到其他工作表中的某個單元格,然後將其隱藏起來(xlSheetVeryHidden),它就可以完美工作。現在我的超鏈接指向夢幻島,宏也捕捉它們。謝謝大家的耐心等待。