2017-06-03 129 views
0

我目前正試圖用超鏈接自動鏈接兩個用戶選定的單元格。 用戶可以選擇兩個不同的單元格(通過輸入框一個接一個地)。爲了這兩個細胞超鏈接應增加從小區1指向小區2,小區2單元1Excel VBA鏈接兩個用戶選擇的單元格與超鏈接

到目前爲止,我有這樣的:

Option Explicit 

Sub Hyperlinks() 
Dim FirstHyperlink As Range 
Dim SecondHyperlink As Range 

Set FirstHyperlink = Application.InputBox("Please select first cell to contain hyperlink", "Hyperlink 1 selection", Type:=8) 
Set SecondHyperlink = Application.InputBox("Please select second cell to contain hyperlink", "Hyperlink 2 selection", Type:=8) 

ActiveSheet.Hyperlinks.Add Anchor:=FirstHyperlink.Address, Address:="", SubAddress:= _ 
    SecondHyperlink.Address, TextToDisplay:=FirstHyperlink.Value 

ActiveSheet.Hyperlinks.Add Anchor:=SecondHyperlink.Address, Address:="", SubAddress:= _ 
    FirstHyperlink.Address, TextToDisplay:=SecondHyperlink.Value 

End Sub 

但是我得到一個運行時錯誤13:類型不匹配指向

ActiveSheet.Hyperlinks.Add Anchor:=FirstHyperlink.Address, Address:="", SubAddress:= _ 
     SecondHyperlink.Address, TextToDisplay:=FirstHyperlink.Value 

任何想法是什麼原因造成的問題?

回答

2

只是解決您的Anchors

Option Explicit 

Sub Hyperlinks() 
Dim FirstHyperlink As Range 
Dim SecondHyperlink As Range 

Set FirstHyperlink = Application.InputBox("Please select first cell to contain hyperlink", "Hyperlink 1 selection", Type:=8) 
Set SecondHyperlink = Application.InputBox("Please select second cell to contain hyperlink", "Hyperlink 2 selection", Type:=8) 

ActiveSheet.Hyperlinks.Add Anchor:=FirstHyperlink, Address:="", SubAddress:= _ 
    SecondHyperlink.Address, TextToDisplay:=FirstHyperlink.Value 

ActiveSheet.Hyperlinks.Add Anchor:=SecondHyperlink, Address:="", SubAddress:= _ 
    FirstHyperlink.Address, TextToDisplay:=SecondHyperlink.Value 

End Sub 

這假定細胞具有一些非空值開始。

1

出於完整性原因:

這裏是我最後一起工作的代碼。我寫了一些更多的代碼行,使它可以在不同的工作表上工作,而不僅僅在一張工作表上工作。

Option Explicit 

Sub Hyperlinks() 
Dim FirstHyperlink As Range 
Dim SecondHyperlink As Range 
Dim FirstSheet As Worksheet 
Dim SecondSheet As Worksheet 

Set FirstHyperlink = Application.InputBox("Please select first cell to contain hyperlink", "Hyperlink 1 selection", Type:=8) 
Set FirstSheet = FirstHyperlink.Worksheet 
Set SecondHyperlink = Application.InputBox("Please select second cell to contain hyperlink", "Hyperlink 2 selection", Type:=8) 
Set SecondSheet = SecondHyperlink.Worksheet 

ActiveSheet.Hyperlinks.Add Anchor:=FirstHyperlink, Address:="", SubAddress:= _ 
    "'" & SecondSheet.Name & "'" & "!" & SecondHyperlink.Address, TextToDisplay:=FirstHyperlink.Value 

ActiveSheet.Hyperlinks.Add Anchor:=SecondHyperlink, Address:="", SubAddress:= _ 
    "'" & FirstSheet.Name & "'" & "!" & FirstHyperlink.Address, TextToDisplay:=SecondHyperlink.Value 

End Sub 
+0

感謝您提供此信息。 –