我在单元格中有一个值。有意地,该值在工作表的另一部分中重复。我希望能够使用内容12345单击C5中的单元格,并选择包含相同值的A1:1600中的单元格。在工作表中,我将永远不会有超过2个具有相同值的单元格,但值将会更改。
感谢您提供的任何帮助。
谢谢。
答案 0 :(得分:0)
这应该可以解决问题 - 我不确定您想要指定的范围,所以我只需将其设为A1:Z1600
,但必要时进行更改。
在VBA中,将其粘贴到工作表的代码模块中:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim OriginalAddress As String
Dim ValToFind As String
Dim CurrentCell As Range
OriginalAddress = Target.Parent.Address
ValToFind = Target.Parent.Value
With Range("A1:Z1600")
Set CurrentCell = .Find(What:=ValToFind)
If OriginalAddress = CurrentCell.Address Then
.FindNext(After:=CurrentCell).Activate
Else
CurrentCell.Activate
End If
End With
End Sub
答案 1 :(得分:0)
您可以使用Hyperlink
功能执行您想要的操作。但是你必须手动输入你想要链接的每个单元格的公式...这是一个例子:
=HYPERLINK("[Book1]Sheet1!F2",12345)
这种方法非常笨拙。以强大的方式做你想做的事的唯一方法就是使用VBA。
编辑: 我能够复制此问题。以下编辑似乎解决了这个问题。
此VBA解决方案使用FindNext
函数查找工作表中的下一个值:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim FirstAddress As String
Dim Rng As Range
Dim x As Long
x = Me.UsedRange.Rows.Count
FirstAddress = Target.Address
Set Rng = Me.UsedRange.Find(Target.Value)
If FirstAddress = Rng.Address Then
Me.UsedRange.FindNext(Rng).Select
Else
Rng.Select
End If
End Sub
这适用于代码所在的工作表的双击,并且重复值在该工作表中的位置并不重要。只需将代码放在工作表的模块中即可。
最后一种方法(尽管仍然不如VBA)是插入超链接:
在此示例中,您点击A2
>转到插入标签>超链接>放置在此文档中并输入相应的单元格。这会将小区A2
超链接到F2
,以便在选择A2
时选择F2
。