2017-06-03 2 views
0

Ich versuche derzeit, zwei Benutzer ausgewählte Zellen automatisch mit Hyperlinks verknüpfen. Der Benutzer kann zwei verschiedene Zellen (nacheinander über Eingabefelder) auswählen. Zu diesen beiden Zellen Hyperlinks hinzugefügt werden soll, die von Zelle 1 zu Zelle Nummer 2 und Zelle 2 Zelle 1.Excel VBA Link zwei Benutzer ausgewählte Zellen mit Hyperlink

Bisher habe ich dies:

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 

Jedoch habe ich einen Laufzeitfehler erhalten 13: Typenkonflikt, der auf

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

Wer eine Idee, was das Problem verursacht?

Antwort

2

reparieren Sie Ihre 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 

Dies setzt voraus, dass die Zellen einige Nicht-Null-Werte zu beginnen.

1

Der Vollständigkeit halber:

Hier ist der Code, den ich mit endlich geklappt. Ich habe einige weitere Codezeilen geschrieben, damit es auf verschiedenen Arbeitsblättern und nicht nur auf einem einzelnen Arbeitsblatt funktioniert.

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

Vielen Dank für die Bereitstellung dieser Informationen. –

Verwandte Themen