2017-05-26 115 views
0

我已經創建了一個宏,它允許我雙擊超鏈接,並根據單擊的單元格顯示來自另一個表單的信息。將宏單元格鏈接到單元格的宏

現在我想自動化超鏈接過程,我需要的是一個宏,它將獲取一個名稱列表並將所有這些單元格超鏈接到它們自己。到目前爲止我有超鏈接的激活的細胞,但返回的值爲0,但超鏈接(第一組代碼)

我將包括我從手動添加宏以及錄製宏宏

Sub HyperLinkME() 

frmla = "=HYPERLINK(" + Chr(34) + "#'" + ActiveSheet.name + "'!" +ActiveCell.Address + Chr(34) + "," + ActiveCell.Address + ")" 
ActiveCell.Formula = frmla 

End Sub 

,我錄製的宏如下:

Sub ManualHyperlink() 
' 
' ManualHyperlink Macro 
' 
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ 
    "Schedule!A3", TextToDisplay:="dale" 
End Sub 

預先感謝您的任何和所有幫助!

回答

0

Select一些細胞並運行此:

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 

到插入超鏈接在細胞跳轉到自己。

要保留單元格的內容,使用方法:

Sub HyperAdder() 
    Dim r As Range, s As String 
    For Each r In Selection 
     If Len(r.Text) = 0 Then 
      s = "X" 
     Else 
      s = r.Text 
     End If 
     ActiveSheet.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:=r.Parent.Name & "!" & r.Address(0, 0), TextToDisplay:=s 
    Next r 
End Sub 
+0

,這是一個良好的開端,所有的細胞,我選擇超鏈接,但他們現在都講我自己。我需要顯示名稱保持不變。那可能嗎? – Sam

+0

我得到它與y = activecell.value一起工作,然後將其放入命令中。但它使得所有單元格值都是範圍中的第一個單元格的名稱,而不是每個單獨的名稱,這可能是一個新問題。你的代碼幾乎讓我在那裏,儘管非常感謝你 – Sam

+0

@Sam看我的**編輯** –