关于excel中的VBA和超链接,这里有很多类似的问题,但是我无法根据自己的情况进行修改。
在一张纸上,我有一列名称(E:E),在另一张纸上,我具有一个单元格(D13)。
我想做的是对(E:E)列中的每个单元格进行超链接,这样,单击后,超链接不仅将我带到单元格(D13),而且还用我单击的名称填充了单元格(D13)。 。
因此,单击“ John Smith”(Sheet1!E1)--->(Sheet2!D13)=“ John Smith”
答案 0 :(得分:2)
首先,在标准模块中需要一小段代码,即可在Sheet1
中安装超链接:
Sub MakeLink()
Sheets("Sheet1").Hyperlinks.Add Anchor:=Range("E1"), Address:="", SubAddress:="Sheet2!D13", TextToDisplay:="Stuff"
End Sub
然后,您需要在工作表代码区域中使用事件宏来进行内容传输:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
ActiveCell.Value = Sheets("Sheet1").Range(Target.Parent.Address).Value
End Sub
答案 1 :(得分:1)
我认为最好的解决方案可能是使用VBA。如果不确定如何执行此操作,请记录s宏,该宏在e中选择一个单元格,然后转到D13并更新其值,然后查看记录的代码并使用这些代码片段创建代码。在较高的层次上,您希望单击E列中任何执行以下操作的单元格来触发宏:
Dim e_value = <value of selected cell in column E>
ThisWorkbook.Sheets("name of sheet 2").Range("D13") = e.value
Application.Goto Reference:=Worksheets("Sheet2").Range("D13"), Scroll:=False
请注意,上面包含了伪代码,但是它应该使您大致了解如何进行。