关于VBA和excel中的超链接,这里有很多类似的问题,但没有什么我可以根据自己的情况进行修改。
在一个工作表上,我有一列名称(E:E),在另一个工作表上,我有一个单元格(D13)。
我要做的是对列(E:E)中的每个单元格进行超链接,这样当单击时,超链接不仅会将我带到单元格(D13),还会用我单击的名称填充单元格(D13)。
所以,点击"John Smith“(Sheet1!E1) -> (Sheet2!D13) = "John Smith”
发布于 2019-06-10 00:43:56
首先,您需要在标准模块中编写一小段代码来安装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发布于 2019-06-09 23:20:47
我认为最好的解决方案可能是使用VBA。如果你不确定如何做到这一点,记录在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
请注意,上面的代码包含伪代码,但它应该让您对如何继续进行有一个大致的了解。
https://stackoverflow.com/questions/56515630
复制相似问题