Excel连接跳转到当前单元格相同内容的单元格,相当于“查找下一个”,考虑用HYPERLINK和FINDSTR。怎么实现

一个sheet内,一个关键词只出现两次。想在第一次出现的地方设个HYPERLINK,点一下就跳到第二次出现的地方。例如aabbccddeeffaa:......bb:..... 一个sheet内,一个关键词只出现两次。想在第一次出现的地方设个HYPERLINK,点一下就跳到第二次出现的地方。
例如
aa bb
cc dd
ee ff

aa:......
bb:.....
dd:......
点击第一个aa就跳转到aa:....行
点击第一个bb就跳转到bb:....行
这里aa:....行bb:....行等出现的位置是不定的,所以不能写死单元格位置。
展开
 我来答
表里如一
2012-07-04 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11636
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
给你个vba,自动生成超链接。不需要手动运行宏。
假设你的表是sheet1
安alt+F11进入VBE,然后在左上角选择sheet1,双击,在右侧输入:

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
.Hyperlinks.Delete
If .Cells.Count = 1 Then
If .Row <= 100 And .Column <= 10 Then '限定第一次出现的数据在A1:J100之间。如果不是这个区域你自己改。.Row <= 50,.Column <= 2 表示A1:B50
Set c = Cells.Find(.Value, LookIn:=xlValues)
If Not c Is Nothing And c.Address = .Address Then
Set c = Cells.FindNext(c)
If c.Address <> .Address Then
.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:=ActiveSheet.Name & "!" & c.Address
End If
Else
.Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:=ActiveSheet.Name & "!" & c.Address
End If
Set c = Nothing
End If
End If
End With
End Sub

关闭VBE,回到sheet1,在A1:J100输入数据试试。
chaohua008
2012-07-04 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5800
采纳率:14%
帮助的人:3014万
展开全部
假设数据都在A列,这个需要用一段VBA代码来实现,代码如下:
Sub 超链接()x = [a65536].End(xlUp).Row
For i = 1 To x - 1
For j = i + 1 To x
If Cells(i, 1) = Cells(j, 1) And Cells(i, 1) <> "" Then
Cells(i, 1).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ Cells(j, 1).Address, TextToDisplay:=Cells(i, 1).Value
End If
Next
Next
End Sub
试试吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式